のバージョン 4 (V4) AWS SDK for .NET がリリースされました。
変更の中断とアプリケーションの移行については、「移行トピック」を参照してください。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
のバージョン 4 への移行 AWS SDK for .NET
AWS SDK for .NET バージョン 4 (V4) には、 SDK のバージョン 3 (V3) からの重大な変更が多数あります。このトピックでは、バージョン 4 の重大な変更と、V3 から環境またはコードを移行するために必要となる可能性のある作業について説明します。SDK のその他の注目すべき変更の詳細については、次のリソースを参照してください。
-
GitHub の開発トラッカーの問題: https://github.com/aws/aws-sdk-net/issues/3362
。 -
ブログ記事 Preview 4 of AWS SDK for .NET V4
。
特定のランタイムライブラリまたは .NET Framework の最小バージョンが必要です。
.NET Framework 3.5 ターゲットが の V4 から削除されました AWS SDK for .NET。その結果、SDK は .NET Framework 3.5 をサポートしなくなりました。このバージョンの SDK は .NET Framework 4.7.2 に対してコンパイルされ、.NET 4.0 ランタイムで実行されます。詳細については、「サポートされているプラットフォーム」を参照してください。
値タイプ
リクエストとレスポンスの作成に使用されるクラスで値タイプを使用するプロパティは、null 可能な値タイプを使用するように変更されました。次のタイプのプロパティが変更されました。
-
boolが に変更されましたbool? -
doubleが に変更されましたdouble? -
intが に変更されましたint? -
floatが に変更されましたfloat? -
longが に変更されましたlong? -
Datetimeが に変更されましたDatetime?
この変更の詳細については、ブログ記事V4 の AWS SDK for .NET プレビュー 1
コレクション
リクエストとレスポンスの作成に使用されるクラスでコレクションを使用するプロパティは、デフォルトで になりましたnull。そのため、コードは、コレクションを使用する前に、コレクションが null でないことを確認する必要があります。例:
var sqsClient = new AmazonSQSClient(); var listResponse = await sqsClient.ListQueuesAsync(new ListQueuesRequest()); if (listResponse.QueueUrls != null) { foreach (string qUrl in listResponse.QueueUrls) { // Perform operations on each queue such as displaying all the attributes. } }
コレクションを初期化する V3 の動作は、 Amazon.AWSConfigs.InitializeCollections を に設定することで復元できますtrue。このプロパティは、V4 にアップグレードする前にこの動作の変更を試すユーザーにも V3 に存在します。 V4
この変更の詳細については、ブログ記事V4 の AWS SDK for .NET プレビュー 1
AWS Security Token Service (STS)
-
リージョンエンドポイント
に依存する認証情報プロバイダーを使用する場合 AWS STS、呼び出しは常にリージョンエンドポイントを使用します。これは、 SDK の V3 とは異なります。SDK は、設定された
us-east-1リージョンに関係なく、パブリックパーティションで実行するときにデフォルトでリージョンを使用していました。 -
StsRegionalEndpointsValue列挙型列挙型が Amazon.Runtime
StsRegionalEndpointsValue名前空間から削除されました。その列挙型を使用するコードはすべて削除する必要があります。 -
STSAssumeRoleAWSCredentialsクラス廃止された STS 継承ロール認証情報プロバイダー
STSAssumeRoleAWSCredentialsが Amazon.SecurityToken 名前空間から削除されました。代わりに、Amazon.Runtime の AssumeRoleAWSCredentials を使用します。
に関連する変更 ClientConfig
Amazon.Runtime.ClientConfig クラスは、AmazonS3Config などのサービスクライアント設定クラスのベースクラスです。このベースクラスには、次の変更が行われました。
-
デフォルトの再試行モード
RetryModeプロパティのデフォルトはStandardではなく ですLegacy。その結果、Legacy値は Amazon.Runtime.RequestRetryMode 列挙型から削除されました。 -
デフォルト設定モード
DefaultConfigurationModeプロパティのデフォルトはStandardではなく ですLegacy。その結果、Legacy値は Amazon.Runtime.DefaultConfigurationMode 列挙型から削除されました。 -
ReadWriteTimeoutプロパティ古いプロパティは、.NET Framework 4.7.2 を除くすべてのターゲットから削除
ReadWriteTimeoutされました。
AWSSDK.Extensions.NETCore.Setup NuGet パッケージ
AWSSDK.Extensions.NETCore.Setup
-
DefaultClientConfigクラスDefaultClientConfigクラスは、サービスクライアント設定ベースクラス Amazon.Runtime.ClientConfig から継承されなくなりました。からの関連プロパティClientConfigは、null 可能な値型DefaultClientConfigを使用して にレプリケートされています。この変更により、サービスクライアント用に作成される設定に値をコピーDefaultClientConfigするときに、値がいつに設定されているかを検出できます。この変更の特定の結果の 1 つは、
DefaultClientConfig.HttpClientFactoryが V4 で利用できなくなったことです。代わりにAWSConfigs.HttpClientFactoryを使用します。詳細については、GitHub 問題 3790を参照してください。 この変更のもう 1 つの結果は、サービス設定オブジェクトを受け入れた
IConfiguration.GetAWSOptions拡張機能メソッドの一般的なオーバーロードが削除されたことです。代わりに非汎用オーバーロードを使用する必要があり、SDK はサービス固有の設定の入力を自動的に処理します。詳細については、GitHub 問題 3866を参照してください。 -
ネイティブ AOT
C# 11 静的インターフェイスメソッドを使用するサービスクライアントを作成するための新しいメカニズムがパッケージに追加されました。この変更により、アセンブリタイプのロードを実行してサービスクライアントのインスタンスを作成する必要がなくなります。これには、ネイティブ AOT と互換性のないサービスクライアントタイプを計算するためのサービスインターフェイス名の文字列操作が含まれます。この変更は .NET 8 以降でのみ使用できます。古いバージョンでは引き続き元のメカニズムが使用されます。
このパッケージの詳細については、「」を参照してくださいAWSSDK.Extensions.NETCore.Setup および IConfiguration。このパッケージのソースコードは GitHub の にありますhttps://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.NETCore.Setup
CookieSigner および UrlSigner
Amazon CloudFront の CookieSignerおよび UrlSigner拡張機能は、AWSSDK.Extensions.CloudFront.Signers
このパッケージのソースコードは GitHub の にありますhttps://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.CloudFront.Signers
DateTime と UTC DateTime
一部の V3 クラスには、「廃止」または「廃止」とマークされた DateTime プロパティと、代替の UTC DateTime プロパティがあります。これらのクラスでは、古い DateTime プロパティが削除され、UTC DateTime プロパティの名前が DateTime プロパティの元の名前に変更されました。
この変更が実装されたクラスの例を以下に示します。
-
DescribeSpotPriceHistoryRequest:
-
古い
StartTimeプロパティが削除され、StartTimeUtcプロパティの名前が「StartTime」に変更されました。 -
古い
EndTimeプロパティが削除され、EndTimeUtcプロパティの名前が「EndTime」に変更されました。
-
-
-
古い
ValidFromプロパティが削除され、ValidFromUtcプロパティの名前が「ValidFrom」に変更されました。 -
古い
ValidUntilプロパティが削除され、ValidUntilUtcプロパティの名前が「ValidUntil」に変更されました。
-
この変更により、アプリケーションが元の古い DateTime プロパティを使用している場合、オフセット時間が発生する可能性があります。UTC DateTime プロパティを使用するコードでは、コンパイル時間エラーが発生します。
DateTime 解析
DateTimeUnmarshaller クラスが更新されました。このクラスは DateTime 文字列をローカル時間として解析して返していました。場合によっては、これらの値は以前の更新のために UTC に変換されていましたが、必ずしも変換されないことがあります。これで、マーシャリングされていない DateTime 文字列は UTC と見なされ、UTC として指定およびマーシャリング解除されます。この更新には、以下の動作の変更が含まれています。
DateTime クラスに基づく特定のタイムスタンププロパティは、ローカル時間に解析されていました。これらには、タイムスタンプの応答アンマーシャラーと、形式 TimestampFormat.ISO8601 および のタイムスタンプのリストが含まれていましたTimestampFormat.RFC822。代わりに UTC 時間を返すように DateTime 解析が更新されました。
ConvertFromUnixEpochSeconds および ConvertFromUnixEpochMilliseconds
Unix エポック秒を DateTime 構造に変換する ConvertFromUnixEpochSeconds メソッドと ConvertFromUnixEpochMilliseconds メソッドは、Unix エポック時間を UTC 時間ではなくローカル時間として返していました。 DateTime これらのメソッドは UTC 時間を返すようになりました。
ログ記録
SDK でログ記録を有効にする方法が V4 用に更新されました。コンソールおよびシステム診断へのログ記録は V3 と同じように機能します。つまり、AWSConfigs クラスの LoggingConfig.LogToプロパティを LoggingOptions.Consoleまたは に設定しますLoggingOptions.SystemDiagnostics。の LoggingOptions オプションlog4netは、リフレクションを使用して のインメモリインスタンスにアタッチするための SDK の内部ロジックとともに削除されましたlog4net。
SDK のログ記録フレームワークへのログインを含めるには、別のアダプターパッケージを使用して SDK をログ記録フレームワークに接続します。には AWSSDK.Extensions.Logging.Log4NetAdaptorlog4netを使用し、 には AWSSDK.Extensions.Logging.ILoggerAdaptorMicrosoft.Extensions.Logging。次のコード例は、これら 2 つのケースでログ記録を設定する方法を示しています。
AWSSDK.Extensions.Logging.Log4NetAdaptor NuGet パッケージを追加し、 から静的ConfigureAWSSDKLoggingメソッドを呼び出しますLog4NetAWSExtensions。
using Amazon.DynamoDBv2; using Amazon.Extensions.Logging.Log4NetAdaptor; using log4net; [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config")] Log4NetAWSExtensions.ConfigureAWSSDKLogging(); var logger = LogManager.GetLogger(typeof(Program));
AWSSDK.Extensions.Logging.ILoggerAdaptor NuGet パッケージを追加し、 ILoggerFactoryインターフェイスからConfigureAWSSDKLogging拡張機能メソッドを呼び出します。
var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); app.Services.GetRequiredService<ILoggerFactory>() .ConfigureAWSSDKLogging();
HTTP 2 のサポート
双方向ストリーミングを有効にするために HTTP 2 のサポートが追加されました。詳細については、「HTTP 2 のサポート」を参照してください。
シングルサインオン
SSOAWSCredentialsOptions クラスの SupportsGettingNewTokenプロパティのデフォルト値が から trueに変更されましたfalse。SSO 認証情報を取得するために SSOAWSCredentials クラスを使用するアプリケーションがある場合は、 Options.SupportsGettingNewTokenプロパティを に設定する必要がありますtrue。この設定の例については、「」のコード例を参照してください.NET アプリケーションのみを使用する SSO のチュートリアル。詳細については、aws-sdk-net
DynamoDB に固有の変更
以下の変更は、Amazon DynamoDB に固有のものです。その多くは重大な変更です。
の V4 での DynamoDB の変更の詳細については AWS SDK for .NET、ブログ記事V4 の AWS SDK for .NET プレビュー 4
SDK for DynamoDB の V4 の変更は、テスト可能性に関するいくつかの問題に対処しますが、主に高レベルライブラリを中心にしています。
-
コード内の DocumentModel という名前DocumentModel.NET ドキュメントモデル。
-
コード内の DataModel という名前の .NET オブジェクト永続性モデル。
これらのプログラミングモードの詳細については、このガイドDynamoDBの「」を参照してください。
ドキュメントモデル: モックIAmazonDynamoDBインターフェイスの例外を更新
SDK の V4 より前のドキュメントモデルでは、テーブルがモックされた IAmazonDynamoDB インターフェイスで初期化された場合、 が返されますNullReferenceException。InvalidOperationException 代わりに SDK の V4 が返されます。非同期Tableメソッドはモッククライアントで動作しますが、 から同期メソッドを呼び出すと例外が表示される場合があります.NET/Core/Standard。
この変更の詳細については、GitHub の「PR 3388
ドキュメントモデル: FromJsonメソッドとToJsonメソッド
ドキュメントクラスの FromJsonおよび ToJsonメソッドは、シリアル化に LitJson System.Text.Jsonの代わりに を使用するようになり、LitJson は SDK の V4 から削除されました。を使用する利点System.Text.Jsonは、このパーサーが数値浮動小数点プロパティのより高い精度をサポートする .NET Decimalタイプの使用をサポートしていることです。
オブジェクト永続性モデル: DynamoDBOperationConfig クラス
オブジェクト永続性モデルでは、共有 DynamoDBOperationConfig クラスに次の変更が行われました。
-
クラスは、SaveConfig、LoadConfig、QueryConfig などの新しいオペレーション固有のクラスに分割されています。使用するメソッド
DynamoDBOperationConfigは廃止とマークされ、今後削除される可能性があります。この変更の詳細については、GitHub の「PR 3421
」を参照してください。 -
MetadataCachingModeおよびDisableFetchingTableMetadataプロパティは クラスから削除されました。これらのプロパティは、前述の新しいオペレーション固有のクラスに含まれていませんでした。削除されたプロパティはテーブルレベルの設定であり、AWSConfigsDynamoDB クラスのグローバルContextプロパティまたは DynamoDBContextConfig クラスで指定する必要があります。この変更の詳細については、GitHub の「PR 3422
」を参照してください。 -
クラスは DynamoDBContextConfig クラスから継承されなくなりました。これにより、DynamoDBContext のコンストラクタに
DynamoDBOperationConfigオブジェクトを渡すことができなくなり、オペレーション固有の設定の一部のプロパティ ( などOverrideTableName) は適用されません。この変更の詳細については、GitHub の「PR 3422
」を参照してください。
オブジェクト永続性モデル: 多型
DynamoDBPolymorphicTypeAttribute クラスがオブジェクト永続性モデルに追加されました。このクラスにより、多型タイプのシリアル化と逆シリアル化のサポートが可能になります。詳細については、GitHub の「PR 3643
ドキュメントモデルとオブジェクト永続性モデル: モック可能なオペレーション
新しいオペレーション固有のインターフェイスが追加され、お客様が DynamoDB オペレーションをモックできるようになりました。IDynamoDBContext インターフェイスのファクトリメソッドが更新され、新しいインターフェイスが返されました。
この変更の詳細については、GitHub の「PR 3450
-
オブジェクト永続性モデル
-
IBatchGetおよびIMultiTableBatchGetインターフェイスを介したモックBatchGetオペレーション。 -
IBatchWriteおよびIMultiTableBatchWriteインターフェイスを介したモックBatchWriteオペレーション。 -
ITransactGetおよびIMultiTableTransactGetインターフェイスを介したモックTransactGetオペレーション。 -
ITransactWriteおよびIMultiTableTransactWriteインターフェイスを介したモックTransactWriteオペレーション。 -
IAsyncSearchインターフェイスを介してScanとQueryオペレーションをモックします。
-
-
ドキュメントモデル
-
ITableインターフェイスを介したモックTableオペレーション。 -
ISearchインターフェイスを介してScanとQueryオペレーションをモックします。 -
IDocumentTransactWriteおよびIMultiTableDocumentTransactWriteインターフェイスを介したモックTransactWriteオペレーション。 -
IDocumentTransactGetおよびIMultiTableDocumentTransactGetインターフェイスを介したモックTransactGetオペレーション。 -
IDocumentBatchWriteおよびIMultiTableDocumentBatchWriteインターフェイスを介したモックBatchWriteオペレーション。 -
IDocumentBatchGetおよびIMultiTableDocumentBatchGetインターフェイスを介したモックBatchGetオペレーション。
-
ドキュメントモデルとオブジェクト永続性モデル: ネイティブ AOT のサポート
ネイティブ AOT の制限は、ネストされた .NET タイプのサポートです。場合によっては、これらのネストされた型が .NET コンパイラのトリミングコンポーネントによって認識されないことがあります。この場合、System.InvalidOperationException: Type <type> is unsupported, it cannot be instantiated.「」などの例外が表示されることがあります。
この制限を回避するには、サブタイプへの依存関係をトリマーに通知する をコードパスのDynamicDependencyどこかに追加します。最上位の .NET タイプのコンストラクタが保存されている可能性があります。次のコード例は、 DynamicDependency 属性の使用方法を示しています。
[DynamoDBTable("TestTable")] class TypeWithNestedTypeProperty { [DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(SubType))] public TypeWithNestedTypeProperty() { } [DynamoDBHashKey] public string Id { get; set; } public string Name { get; set; } public SubType SubType { get; set; } } class SubType { public string SubName { get; set; } }
DynamoDBStreams
DynamoDBStreams は AWSSDK.DynamoDBAmazon.DynamoDBStreams。
TableNamePrefix 値の削除を許可する
個々のオペレーションレベルで DynamoDBContextConfig クラスで TableNamePrefixプロパティの値を削除できるようになりました。この変更の詳細については、GitHub の「PR 3476
RetrieveDateTimeInUtc プロパティ
DynamoDBContextConfig クラスでは、 RetrieveDateTimeInUtcプロパティのデフォルト値が に変更されましたtrue。
DynamoDBContextTableNamePrefix プロパティ
AWSConfigsDynamoDB クラスから DynamoDBContextTableNamePrefixプロパティを削除しました。ユーザーは AWSConfigsDynamoDB.Context.TableNamePrefixの代わりに を呼び出す必要があります
EC2 に固有の変更
以下の変更は Amazon EC2 に固有のものです。そのほとんどまたはすべてが重大な変更です。
GetDecryptedPassword
Amazon EC2 のGetDecryptedPassword拡張機能は、AWSSDK.Extensions.EC2.DecryptPassword
このパッケージのソースコードは GitHub の にありますhttps://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.EC2.DecryptPassword
Amazon EC2 IMDSv1 のサポート
インスタンスメタデータサービスバージョン 1 (IMDSv1) のサポートが削除されました。SDK の V4 は、IMDS から認証情報やその他のメタデータを取得するときに、常にインスタンスメタデータサービスバージョン 2 (IMDSv2) を使用します。IMDS の詳細については、Amazon EC2 ユーザーガイド」の「IMDS の使用」を参照してください。
変更または削除された要素のプログラミング
-
Amazon.EC2.Import名前空間とコード全体が削除されました。 -
Amazon.EC2.Util名前空間とコード全体が削除されました。これには、Windows 用の EC2 AMI の検索に使用された AMIs ユーティリティが含まれます。 -
古いプロパティ
IpRangesが IpPermission クラスから削除されました。代わりにIpv4RangesまたはIpv6Rangesプロパティを使用します。 -
ECEC2InstanceMetadata クラスから次の古いフィールドが削除されました:
EC2_METADATA_SVC、EC2_METADATA_ROOT、EC2_USERDATA_ROOT、EC2_DYNAMICDATA_ROOT、EC2_APITOKEN_URL。
S3 に固有の変更
以下の変更は Amazon S3 に固有のものです。そのほとんどまたはすべてが重大な変更です。
AWS リージョン us-east-1
us-east-1 リージョン用に設定された Amazon S3 サービスクライアントは、他のリージョンのバケットにアクセスできなくなります。バケットには、バケットがあるリージョン用に設定された S3 サービスクライアントを使用してアクセスする必要があります。
この変更の詳細については、ブログ記事「V4 の AWS SDK for .NET プレビュー
S3 暗号化クライアント
Amazon.S3.Encryption 名前空間で定義されている Amazon S3 暗号化クライアントが AWSSDK.S3
の S3 タグ付けディレクティブ CopyObject
TaggingDirective プロパティは、 AmazonS3Client.CopyObjectメソッドで使用される CopyObjectRequest クラスのパブリックプロパティとして公開されています。このプロパティは、CopyObject アクションで定義されている Amazon S3 x-amz-tagging-directiveパラメータに対応します。
タグ付けディレクティブは自動的に COPY に設定されなくなりました。開発者がタグ付けディレクティブを指定しない場合、S3 バックエンドは自動的にそれを COPY と想定しますが、開発者が明示的にプロパティを null に設定した場合、値はまったく設定されません。
S3 設定の UseArnRegionプロパティ
Amazon.S3.AmazonS3Config クラスの UseArnRegionプロパティが更新され、AWS_S3_USE_ARN_REGION環境変数が共有 AWS configファイルの s3_use_arn_region設定よりも優先されるようになりました。これらの変数と設定の詳細については、 SDK およびツールリファレンスガイドの「設定リファレンス」を参照してください。 AWS SDKs
メソッドCopyObjectと CopyPartメソッドの先頭のスラッシュ
Amazon S3 CopyObjectおよび CopyPartメソッドでは、先頭のスラッシュはトリミングされなくなります。DisableTrimmingLeadingSlash プロパティが CopyObjectRequest クラスと CopyPartRequest クラスから削除されました。
DoesS3BucketExist... メソッド
古い メソッドDoesS3BucketExistと DoesS3BucketExistAsyncメソッドは、ICoreAmazonS33 インターフェイスを実装する AmazonS3Util クラスから削除されました。これらのメソッドは常に HTTP を使用するため、削除されました。代わりに DoesS3BucketExistV2 と DoesS3BucketExistV2Async を使用します。
SDK は常に SigV4 を使用します
のバージョン 4 では、署名リクエストに AWS SDK for .NET 常に AWS 署名バージョン 4 (SigV4) が使用されます。この変更により、以下の関連する変更が行われます。
-
AWSConfigsS3 クラスの
UseSignatureVersion4プロパティは削除されました。 -
Amazon.Runtime.ClientConfig クラスの
SignatureVersionプロパティが削除されました。このプロパティは、下位互換性のために Amazon S3 でのみ使用されました。 -
RegionEndpoint.Endpointクラスは削除されました。これには、Amazon S3 の署名バージョンを上書きするために使用されたSignatureVersionOverrideプロパティが含まれます。代わりに、サービス固有のclient.DetermineServiceOperationEndPoint()方法を使用します。 -
SigV4 を使用するように AmazonS3Util.PostUpload および S3PostUploadSignedPolicy.GetSignedPolicy メソッドを更新しました。その結果、 は同じ関数を実行する
GetSignedPolicyようになったため、S3PostUploadSignedPolicy.GetSignedPolicyV4メソッドは削除されました。さらに、GetSignedPolicyにはリージョンエンドポイントの 3 番目のパラメータが与えられています。
GetACL および PutACLメソッド
AmazonS3Client クラスの GetACLおよび PutACLメソッドは廃止とマークされています。これらのメソッドの機能にアクセスするには、代わりに GetBucketACL、、PutBucketACL、GetObjectACLおよび の新しいメソッドを使用しますPutObjectACL。
廃止されたプログラミング要素の削除
列挙値、型、メソッド、名前空間など、Amazon S3 実装の多くのプログラミング要素が SDK の V4 から削除されました。これらは、以前に説明されていない場合は、削除に対応するために実行できる潜在的な手順とともに、以下に一覧表示されます。
-
DisableMD5Streamプロパティが TransferUtilityUploadRequest クラスから削除されました。代わりに、DisableDefaultChecksumValidationプロパティを使用してください。さらに、
CalculateContentMD5HeaderプロパティはTransferUtilityUploadRequestクラスから削除されました。SDK はデフォルトでチェックサムを計算するため、このプロパティは不要になりました。 -
ServerSideEncryptionMethodおよびServerSideEncryptionKeyManagementServiceKeyIdプロパティは CopyPartRequest クラスから削除されました。代わりに、InitiateMultipartUploadRequest クラスで同じ名前のプロパティを使用します。これは、AmazonS3Client クラスの一部のInitiateMultipartUpload...メソッドで使用されます。 -
Expiresプロパティが GetObjectResponse クラスから削除されました。代わりに、ExpiresStringプロパティを使用してください。文字列が有効なタイムスタンプ形式ではない可能性があるため、コードは に変換するときにTryParseメソッドを使用する必要がありますDateTime。 -
古い AWS リージョン 識別子が S3Region 列挙から削除されました。
-
Prefixプロパティが LifecycleRule クラスから削除されました。代わりに、Filterプロパティを使用してください。さらに、
NoncurrentVersionTransitionおよびTransitionプロパティはLifecycleRuleクラスから削除されました。代わりにNoncurrentVersionTransitionsおよびTransitionsコレクションを使用します。 -
Eventプロパティが TopicConfiguration クラスから削除されました。代わりにEventsコレクションを使用します。 -
CalculateContentMD5Header プロパティ。SDK はデフォルトでチェックサムを計算するため、このプロパティを設定する必要がなくなりました。
-
Bucketプロパティが SelectObjectContentRequest クラスから削除されました。代わりに、BucketNameプロパティを使用してください。 -
NumberOfUploadThreadsプロパティが TransferUtilityConfig クラスから削除されました。代わりにConcurrentServiceRequestsプロパティを使用します。
削除された要素のプログラミング
列挙値、型、メソッド、名前空間など、多くのプログラミング要素が SDK の V4 から削除されました。これらは、以前に説明されていない場合は、削除に対応するために実行できる潜在的な手順とともに、以下に一覧表示されます。
Amazon.Auth.AccessControlPolicy.ActionIdentifiers 名前空間
Amazon.Auth.AccessControlPolicy.ActionIdentifiers 名前空間は削除されました。これには、 IdentityandAccessManagementActionIdentifiers クラスで定義された IAM アクション識別子が含まれます。これらのアクション識別子を使用するコードは、アクション名の文字列値を使用するように変更する必要があります。
詳細については、「IAM ユーザーガイド」のJSON からの IAM マネージドポリシーの作成「」および「JSON ポリシーの概要」を参照してください。 https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json
ClientConfig クラス
Amazon.Runtime.ClientConfig クラスは、AmazonS3Config などのサービスクライアント設定クラスのベースクラスです。このクラスから次のプログラミング要素が削除されました。
-
DetermineServiceURLおよびDetermineDnsSuffixメソッドは削除されました。代わりに、AmazonS3Client.DetermineServiceOperationEndpoint などのサービスクライアントのDetermineServiceOperationEndpointメソッドを使用します。 -
ReadEntireResponseプロパティは削除されました。代わりに次のいずれかを使用します。-
AWSConfigs.LoggingConfig クラスの
LogResponsesプロパティ。 -
クライアント設定の
LogResponseプロパティ。AmazonS3Config など。
-
Amazon.Runtime 名前空間
Amazon.Runtime 名前空間が次のように更新されました。
-
古い
ECSTaskCredentialsクラスが名前空間から削除されました。代わりに、Amazon EKS Pod ID もサポートする GenericContainerCredentials プロバイダーを使用してください。 -
古い
StoredProfileAWSCredentialsおよびStoredProfileCredentialsクラスは名前空間から削除されました。代わりに、Amazon.Runtime.CredentialManagement 名前空間の NetSDKCredentialsFile または SharedCredentialsFile クラスを使用します。 -
SSOAWSCredentials クラスの古い
HasCachedAccessTokenAvailableメソッドが名前空間から削除されました。 -
古い
EnvironmentAWSCredentialsクラスが名前空間から削除されました。代わりに AppConfigAWSCredentials クラスを使用します。 -
古い
StoredProfileFederatedCredentialsクラスが名前空間から削除されました。代わりに FederatedAWSCredentials クラスを使用します。 -
名前空間から次の古いクラスが削除されました:
EnvironmentVariableAWSEndpointDiscoveryEnabled、ProfileAWSEndpointDiscoveryEnabled、FallbackEndpointDiscoveryEnabledFactory。 -
古いプロパティ
UseSigV4が AmazonWebServiceRequest クラスから削除されました。代わりに、SignatureVersionプロパティを使用してください。 -
Amazon.Runtime.Internal.Util名前空間のProfileIniFileクラスには、 というオーバーロードされたメソッドがありますTryGetSection。のoutパラメータをサポートしていない メソッドのバージョンnestedPropertiesが クラスから削除されました。 -
Amazon.Runtime.Internal.Auth名前空間の古いEventBridgeSignerクラスは削除されました。 -
古い
Parametersディクショナリプロパティが WebServiceRequestEventArgs クラスから削除されました。代わりに、ParameteCollectionプロパティを使用してください。
BouncyCastle
BouncyCastle のソースコピーが SDK の V4 から削除されました。
StoredProfileSAMLCredentials クラス
Amazon.SecurityToken.SAML 名前空間の古いStoredProfileSAMLCredentialsクラスは削除されました。代わりに、Amazon.Runtime 名前空間で FederatedAWSCredentials クラスを使用します。
AWSSDKUtils クラス
AWSSDKUtils クラスから、ResolveResourcePath、ProtectEncodedSlashUrlEncode、および メソッドが削除されましたConvertToUnixEpochMilliSeconds。
ProfileManager クラス
古いProfileManagerクラスが Amazon.Util 名前空間から削除されました。代わりに、Amazon.Runtime.CredentialManagement 名前空間の NetSDKCredentialsFile または SharedCredentialsFile クラスを使用します。
AWSConfigs クラス
次の古いプロパティが AWSConfigs クラスから削除されました: Logging、ResponseLogging、LogMetrics。代わりに、LoggingConfig プロパティを使用してください。
ConditionFactory クラス
次の署名を持つ メソッドが ConditionFactory クラス から削除されましたNewCondition(ConditionFactory.DateComparisonType, DateTime)。代わりに NewConditionUtc メソッドを使用します。
Amazon CloudFront ユーティリティ
古いAmazon.CloudFront.Util名前空間とAmazonCloudFrontUtilクラスは削除されました。
AWS IoT
ListPrincipalThingsResponse クラスでは、ページ分割を優先して、NextTokenオーバーライドのレガシーカスタマイズが削除されました。
AWS Lambda
AmazonLambdaClient クラスの以下のInvoke...メソッドは、名前がわかりにくいため削除されました。
-
次の署名を持つ V3 メソッドが削除されました:
InvokeAsyncResponse InvokeAsync(InvokeAsyncRequest)。これは SDK の V3 の同期メソッドです。代わりにInvokeResponse Invoke(InvokeRequest)(同期処理の場合) またはTask InvokeAsync(InvokeRequest, CancellationToken)(非同期処理の場合) を使用します。 -
次の署名を持つ V3 メソッドが削除されました:
Task InvokeAsyncAsync(InvokeAsyncRequest, CancellationToken)。これは SDK の V3 の非同期メソッドです。代わりにTask InvokeAsync(InvokeRequest, CancellationToken)を使用します。
Amazon SageMaker ランタイム
PayloadPart クラスの古いコンストラクタが削除されました。