

のバージョン 4 (V4) AWS SDK for .NET がリリースされました。

重要な変更とアプリケーションの移行については、[「移行トピック](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html)」を参照してください。

 [https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# のバージョン 4 への移行 AWS SDK for .NET
<a name="net-dg-v4"></a>

 AWS SDK for .NET バージョン 4 (V4) には、 SDK のバージョン 3 (V3) からの重大な変更が多数あります。このトピックでは、バージョン 4 の重大な変更と、V3 から環境またはコードを移行するために必要となる可能性のある作業について説明します。SDK のその他の注目すべき変更の詳細については、次のリソースを参照してください。
+ GitHub の開発トラッカーの問題: [https://github.com/aws/aws-sdk-net/issues/3362](https://github.com/aws/aws-sdk-net/issues/3362)。
+ ブログ記事[「プレビュー 1 of AWS SDK for .NET V4](https://aws.amazon.com/blogs/developer/preview-1-of-aws-sdk-for-net-v4/)」。
+ ブログ記事[「プレビュー 4 of AWS SDK for .NET V4](https://aws.amazon.com/blogs/developer/preview-4-of-aws-sdk-for-net-v4/)」。
+ ブログ記事[「General Availability of AWS SDK for .NET V4.0](https://aws.amazon.com/blogs/developer/general-availability-of-aws-sdk-for-net-v4-0/)」。

## 特定のランタイムライブラリまたは .NET Framework の最小バージョンが必要です。
<a name="net-dg-v4-framework3.5"></a>

.NET Framework 3.5 ターゲットが の V4 から削除されました AWS SDK for .NET。その結果、SDK は .NET Framework 3.5 をサポートしなくなりました。このバージョンの SDK は .NET Framework 4.7.2 に対してコンパイルされ、.NET 4.0 ランタイムで実行されます。詳細については、[「サポートされているプラットフォーム](net-dg-supported-platforms.md#net-dg-platform-diff-netfx45)」を参照してください。

## 値のタイプ
<a name="net-dg-v4-value-types"></a>

リクエストとレスポンスの作成に使用されるクラスで値タイプを使用するプロパティは、null 可能な値タイプを使用するように変更されました。次のタイプのプロパティが変更されました。
+ `bool` が に変更されました `bool?` 
+ `double` が に変更されました `double?` 
+ `int` が に変更されました `int?` 
+ `float` が に変更されました `float?` 
+ `long` が に変更されました `long?` 
+ `Datetime` が に変更されました `Datetime?`

この変更の詳細については、ブログ記事[V4 の AWS SDK for .NET プレビュー 1](https://aws.amazon.com/blogs/developer/preview-1-of-aws-sdk-for-net-v4/)」を参照してください。

## コレクション
<a name="net-dg-v4-collections"></a>

リクエストとレスポンスの作成に使用されるクラスでコレクションを使用するプロパティは、デフォルトで になりました`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](https://aws.amazon.com/blogs/developer/preview-1-of-aws-sdk-for-net-v4/)」を参照してください。

## AWS Security Token Service (STS)
<a name="net-dg-v4-sts"></a>
+ **リージョンエンドポイント**

  に依存する認証情報プロバイダーを使用する場合 AWS STS、呼び出しは常にリージョンエンドポイントを使用します。これは、 SDK の V3 とは異なります。SDK は、設定された`us-east-1`リージョンに関係なく、パブリックパーティションで実行するときにデフォルトでリージョンを使用していました。
+ **`StsRegionalEndpointsValue`列挙型**

  列挙型が [Amazon.Runtime](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntime.html) `StsRegionalEndpointsValue` 名前空間から削除されました。その列挙型を使用するコードはすべて削除する必要があります。
+ **`STSAssumeRoleAWSCredentials` クラス**

  廃止された STS 継承ロール認証情報プロバイダー `STSAssumeRoleAWSCredentials`が [Amazon.SecurityToken](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/SecurityToken/NSecurityToken.html) 名前空間から削除されました。代わりに、[Amazon.Runtime](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntime.html) の [AssumeRoleAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TAssumeRoleAWSCredentials.html) を使用します。

## に関連する変更 `ClientConfig`
<a name="net-dg-v4-clientconfig"></a>

[Amazon.Runtime.ClientConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html) クラスは、[AmazonS3Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Config.html) などのサービスクライアント設定クラスのベースクラスです。このベースクラスには、次の変更が行われました。
+  **デフォルトの再試行モード** 

  `RetryMode` プロパティのデフォルトは `Standard`ではなく です`Legacy`。その結果、`Legacy`値は [Amazon.Runtime.RequestRetryMode](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TRequestRetryMode.html) 列挙型から削除されました。
+  **デフォルト設定モード** 

  `DefaultConfigurationMode` プロパティのデフォルトは `Standard`ではなく です`Legacy`。その結果、`Legacy`値は [Amazon.Runtime.DefaultConfigurationMode](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TDefaultConfigurationMode.html) 列挙型から削除されました。
+  **`ReadWriteTimeout`プロパティ** 

  古いプロパティは、.NET Framework 4.7.2 を除くすべてのターゲットから削除`ReadWriteTimeout`されました。

## AWSSDK.Extensions.NETCore.Setup NuGet パッケージ
<a name="net-dg-v4-netcore-setup"></a>

[AWSSDK.Extensions.NETCore.Setup](https://www.nuget.org/packages/AWSSDK.Extensions.NETCore.Setup/) NuGet パッケージが更新され、SDK の V3 に存在する問題が軽減され、パッケージがネイティブ AOT に対して安全になりました。これらの変更を以下に要約します。詳細については、GitHub の [aws-sdk-net](https://github.com/aws/aws-sdk-net) リポジトリの [PR 3353](https://github.com/aws/aws-sdk-net/pull/3353) を参照してください。
+ **`DefaultClientConfig` クラス**

  `DefaultClientConfig` クラスは、サービスクライアント設定ベースクラス [Amazon.Runtime.ClientConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html) から継承されなくなりました。からの関連プロパティ`ClientConfig`は、null 可能な値型`DefaultClientConfig`を使用して でレプリケートされています。この変更により、サービスクライアント用に作成される設定に値をコピー`DefaultClientConfig`するときに、値がいつに設定されているかを検出できます。

  この変更の特定の結果の 1 つは、 `DefaultClientConfig.HttpClientFactory`が V4 で利用できなくなったことです。代わりに `AWSConfigs.HttpClientFactory` を使用します。詳細については、[GitHub 問題 3790 ](https://github.com/aws/aws-sdk-net/issues/3790)を参照してください。

  この変更のもう 1 つの結果は、サービス設定オブジェクトを受け入れた`IConfiguration.GetAWSOptions`拡張機能メソッドの一般的なオーバーロードが削除されたことです。代わりに非汎用オーバーロードを使用する必要があります。SDK はサービス固有の設定の入力を自動的に処理します。詳細については、[GitHub 問題 3866 ](https://github.com/aws/aws-sdk-net/issues/3866)を参照してください。
+ **ネイティブ AOT**

  C\$1 11 静的インターフェイスメソッドを使用するサービスクライアントを作成するための新しいメカニズムがパッケージに追加されました。この変更により、アセンブリタイプのロードを実行してサービスクライアントのインスタンスを作成する必要がなくなります。これには、ネイティブ AOT と互換性のないサービスクライアントタイプを計算するためのサービスインターフェイス名の文字列操作が含まれます。この変更は .NET 8 以降でのみ使用できます。古いバージョンでは引き続き元のメカニズムが使用されます。

このパッケージの詳細については、「」を参照してください[AWSSDK.Extensions.NETCore.Setup および IConfiguration](net-dg-config-netcore.md)。このパッケージのソースコードは GitHub の [https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.NETCore.Setup](https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.NETCore.Setup) にあります。

## `CookieSigner` および `UrlSigner`
<a name="net-dg-v4-CookieSigner-UrlSigner"></a>

Amazon CloudFront の `CookieSigner`および `UrlSigner`拡張機能は、[AWSSDK.Extensions.CloudFront.Signers ](https://www.nuget.org/packages/AWSSDK.Extensions.CloudFront.Signers)という別の拡張機能パッケージに移動されました。この変更は、OpenSSL 3 をサポートし、[BouncyCastle.Cryptography](https://www.nuget.org/packages/BouncyCastle.Cryptography) に依存するためです。

このパッケージのソースコードは GitHub の [https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.CloudFront.Signers](https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.CloudFront.Signers) にあります。

## DateTime と UTC DateTime
<a name="net-dg-v4-utc-datetime"></a>

一部の V3 クラスには、「廃止」または「廃止」とマークされた DateTime プロパティと、代替の UTC DateTime プロパティがあります。これらのクラスでは、古い DateTime プロパティが削除され、UTC DateTime プロパティの名前が DateTime プロパティの元の名前に変更されました。

この変更が実装されたクラスの例を以下に示します。
+ [DescribeSpotPriceHistoryRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/EC2/TDescribeSpotPriceHistoryRequest.html):
  + 古い`StartTime`プロパティが削除され、`StartTimeUtc`プロパティの名前が「StartTime」に変更されました。
  + 古い`EndTime`プロパティが削除され、`EndTimeUtc`プロパティの名前が「EndTime」に変更されました。
+  [CreateFleetRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/EC2/TCreateFleetRequest.html) 
  + 古い`ValidFrom`プロパティが削除され、`ValidFromUtc`プロパティの名前が「ValidFrom」に変更されました。
  + 古い`ValidUntil`プロパティが削除され、`ValidUntilUtc`プロパティの名前が「ValidUntil」に変更されました。

この変更により、アプリケーションが元の古い DateTime プロパティを使用している場合、オフセット時間が発生する可能性があります。UTC DateTime プロパティを使用するコードでは、コンパイル時間エラーが発生します。

## DateTime 解析
<a name="net-dg-v4-datetime-parsing"></a>

DateTimeUnmarshaller クラスが更新されました。このクラスは、DateTime 文字列をローカル時間として解析して返していました。場合によっては、これらの値は以前の更新のために UTC に変換されていましたが、必ずしも変換されないことがあります。これで、マーシャリングされていない DateTime 文字列は UTC と見なされ、UTC として指定およびマーシャリング解除されます。この更新には、以下の動作の変更が含まれています。

DateTime クラスに基づく特定のタイムスタンププロパティは、ローカル時間に解析されていました。これらには、タイムスタンプの応答アンマーシャラーと、形式 `TimestampFormat.ISO8601` および のタイムスタンプのリストが含まれていました`TimestampFormat.RFC822`。代わりに UTC 時間を返すように DateTime 解析が更新されました。

## `ConvertFromUnixEpochSeconds` および `ConvertFromUnixEpochMilliseconds`
<a name="net-dg-v4-ConvertFromUnixEpoch"></a>

Unix エポック秒を DateTime 構造に変換する [ConvertFromUnixEpochSeconds](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/MAWSSDKUtilsConvertFromUnixEpochSecondsInt32.html) メソッドと [ConvertFromUnixEpochMilliseconds](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/MAWSSDKUtilsConvertFromUnixEpochMillisecondsInt64.html) メソッドは、Unix エポック時間を UTC 時間ではなくローカル時間として返していました。 DateTime これらのメソッドは UTC 時間を返すようになりました。

## ログ記録
<a name="net-dg-v4-logging"></a>

SDK でログ記録を有効にする方法が V4 用に更新されました。コンソールおよびシステム診断へのログ記録は V3 と同じように機能します。つまり、[AWSConfigs](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html) クラスの `LoggingConfig.LogTo`プロパティを `LoggingOptions.Console`または に設定します`LoggingOptions.SystemDiagnostics`。の [LoggingOptions](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html) オプション`log4net`は、リフレクションを使用して のインメモリインスタンスにアタッチするための SDK の内部ロジックとともに削除されました`log4net`。

SDK のログ記録フレームワークへのログインを含めるために、別のアダプターパッケージを使用して SDK をログ記録フレームワークに接続します。には [AWSSDK.Extensions.Logging.Log4NetAdaptor](https://www.nuget.org/packages/AWSSDK.Extensions.Logging.Log4NetAdaptor) パッケージ`log4net`を使用し、 には [AWSSDK.Extensions.Logging.ILoggerAdaptor](https://www.nuget.org/packages/AWSSDK.Extensions.Logging.ILoggerAdaptor/#readme-body-tab) パッケージを使用します`Microsoft.Extensions.Logging`。次のコード例は、これら 2 つのケースでログ記録を設定する方法を示しています。

### log4net の設定例
<a name="w2aac25c11c27b7b1"></a>

`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));
```

### Microsoft.Extensions.Logging の設定例
<a name="w2aac25c11c27b7b3"></a>

`AWSSDK.Extensions.Logging.ILoggerAdaptor` NuGet パッケージを追加し、 `ILoggerFactory`インターフェイスから`ConfigureAWSSDKLogging`拡張機能メソッドを呼び出します。

```
var builder = WebApplication.CreateBuilder(args);

var app = builder.Build();

app.Services.GetRequiredService<ILoggerFactory>()
    .ConfigureAWSSDKLogging();
```

## HTTP 2 のサポート
<a name="net-dg-v4-http2"></a>

双方向ストリーミングを有効にするために HTTP 2 のサポートが追加されました。詳細については、「[HTTP 2 のサポート](http2-support.md)」を参照してください。

## シングルサインオン
<a name="net-dg-v4-sso"></a>

[SSOAWSCredentialsOptions](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSSOAWSCredentialsOptions.html) クラスの `SupportsGettingNewToken`プロパティのデフォルト値が から `true`に変更されました`false`。SSO 認証情報を取得するために [SSOAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSSOAWSCredentials.html) クラスを使用するアプリケーションがある場合は、 `Options.SupportsGettingNewToken`プロパティを に設定する必要があります`true`。この設定の例については、「」の[コード例](sso-tutorial-app-only.md#sso-tutorial-app-only-code)を参照してください[.NET アプリケーションのみを使用する SSO のチュートリアル](sso-tutorial-app-only.md)。詳細については、[aws-sdk-net](https://github.com/aws/aws-sdk-net) GitHub リポジトリの[「PR 3737](https://github.com/aws/aws-sdk-net/pull/3737)」を参照してください。

## DynamoDB に固有の変更
<a name="net-dg-v4-ddb-specific"></a>

以下の変更は Amazon DynamoDB に固有のものです。その多くは重大な変更です。

の V4 での DynamoDB の変更の詳細については AWS SDK for .NET、ブログ記事[V4 の AWS SDK for .NET プレビュー 4](https://aws.amazon.com/blogs/developer/preview-4-of-aws-sdk-for-net-v4/)」を参照してください。

### を開いて項目を表示する
<a name="w2aac25c11c35b7b1"></a>

SDK for DynamoDB の V4 の変更は、テスト可能性に関するいくつかの問題に対処しますが、主に高レベルライブラリを中心にしています。
+ コード内の DocumentModel という名前[DocumentModel](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/NDynamoDBv2DocumentModel.html)[.NET ドキュメントモデル](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DotNetSDKMidLevel.html)。
+ コード内の [DataModel](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/NDynamoDBv2DataModel.html) という名前の [.NET オブジェクト永続性モデル](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DotNetSDKHighLevel.html)。

これらのプログラミングモードの詳細については、このガイド[DynamoDB](dynamodb-intro.md)の「」を参照してください。

#### ドキュメントモデル: モック`IAmazonDynamoDB`インターフェイスの例外を更新
<a name="w2aac25c11c35b7b1b9"></a>

SDK の V4 より前のドキュメントモデルでは、[テーブル](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TTable.html)がモックされた [IAmazonDynamoDB](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TIDynamoDB.html) インターフェイスで初期化された場合、 が返されます`NullReferenceException`。`InvalidOperationException` 代わりに SDK の V4 が返されます。非同期`Table`メソッドはモッククライアントで動作しますが、 から同期メソッドを呼び出すと例外が表示される場合があります`.NET/Core/Standard`。

この変更の詳細については、GitHub の[「PR 3388](https://github.com/aws/aws-sdk-net/pull/3388)」を参照してください。

#### ドキュメントモデル: `FromJson`メソッドと`ToJson`メソッド
<a name="w2aac25c11c35b7b1c11"></a>

[ドキュメント](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDocument.html)クラスの `FromJson`および `ToJson`メソッドは、シリアル化に LitJson `System.Text.Json`の代わりに を使用するようになり、LitJson は SDK の V4 から削除されました。を使用する利点`System.Text.Json`は、このパーサーが数値浮動小数点プロパティのより高い精度をサポートする .NET `Decimal`タイプの使用をサポートしていることです。

#### オブジェクト永続性モデル: `DynamoDBOperationConfig` クラス
<a name="w2aac25c11c35b7b1c13"></a>

オブジェクト永続性モデルでは、共有 [DynamoDBOperationConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBOperationConfig.html) クラスに次の変更が行われました。
+ クラスは、[SaveConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TSaveConfig.html)、[LoadConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TLoadConfig.html)、[QueryConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TQueryConfig.html) などの新しいオペレーション固有のクラスに分割されています。にかかる方法は廃止とマーク`DynamoDBOperationConfig`され、今後削除される可能性があります。

  この変更の詳細については、GitHub の[「PR 3421](https://github.com/aws/aws-sdk-net/pull/3421)」を参照してください。
+ `MetadataCachingMode` および `DisableFetchingTableMetadata`プロパティが クラスから削除されました。これらのプロパティは、前述の新しいオペレーション固有のクラスに含まれていませんでした。削除されたプロパティはテーブルレベルの設定であり、[AWSConfigsDynamoDB](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigsDynamoDB.html) クラスのグローバル`Context`プロパティまたは [DynamoDBContextConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBContextConfig.html) クラスで指定する必要があります。

  この変更の詳細については、GitHub の[「PR 3422](https://github.com/aws/aws-sdk-net/pull/3422)」を参照してください。
+ クラスは [DynamoDBContextConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBContextConfig.html) クラスから継承されなくなりました。これにより、[DynamoDBContext](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBContext.html) のコンストラクタに`DynamoDBOperationConfig`オブジェクトを渡すことができなくなり、オペレーション固有の設定の一部のプロパティ ( など`OverrideTableName`) は適用されません。

  この変更の詳細については、GitHub の[「PR 3422](https://github.com/aws/aws-sdk-net/pull/3422)」を参照してください。

#### オブジェクト永続性モデル: 多型
<a name="w2aac25c11c35b7b1c15"></a>

[DynamoDBPolymorphicTypeAttribute](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBPolymorphicTypeAttribute.html) クラスがオブジェクト永続性モデルに追加されました。このクラスにより、多型タイプのシリアル化と逆シリアル化がサポートされます。詳細については、GitHub の[「PR 3643](https://github.com/aws/aws-sdk-net/pull/3643)」を参照してください。

#### ドキュメントモデルとオブジェクト永続性モデル: モック可能なオペレーション
<a name="w2aac25c11c35b7b1c17"></a>

新しいオペレーション固有のインターフェイスが追加され、お客様が DynamoDB オペレーションをモックできるようになりました。[IDynamoDBContext](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TIDynamoDBContext.html) インターフェイスのファクトリメソッドが更新され、新しいインターフェイスが返されました。

この変更の詳細については、GitHub の[「PR 3450](https://github.com/aws/aws-sdk-net/pull/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 のサポート
<a name="w2aac25c11c35b7b1c19"></a>

ネイティブ 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
<a name="w2aac25c11c35b7b1c21"></a>

[DynamoDBStreams](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html) は [AWSSDK.DynamoDB](https://www.nuget.org/packages/AWSSDK.DynamoDBv2) NuGet パッケージから削除され、独自のパッケージ [AWSSDK.DynamoDBStreams ](https://www.nuget.org/packages/AWSSDK.DynamoDBStreams)で利用でき、独自の名前空間 があります`Amazon.DynamoDBStreams`。

#### `TableNamePrefix` 値の削除を許可する
<a name="w2aac25c11c35b7b1c23"></a>

個々のオペレーションレベルで [DynamoDBContextConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TDynamoDBContextConfig.html) クラスで `TableNamePrefix`プロパティの値を削除できるようになりました。この変更の詳細については、GitHub の[「PR 3476](https://github.com/aws/aws-sdk-net/pull/3476)」を参照してください。

#### `RetrieveDateTimeInUtc` プロパティ
<a name="w2aac25c11c35b7b1c25"></a>

[DynamoDBContextConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TDynamoDBContextConfig.html) クラスでは、 `RetrieveDateTimeInUtc`プロパティのデフォルト値が に変更されました`true`。

#### `DynamoDBContextTableNamePrefix` プロパティ
<a name="w2aac25c11c35b7b1c27"></a>

[AWSConfigsDynamoDB](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigsDynamoDB.html) クラスから `DynamoDBContextTableNamePrefix`プロパティを削除しました。ユーザーは `AWSConfigsDynamoDB.Context.TableNamePrefix`の代わりに を呼び出す必要があります 

## EC2 に固有の変更
<a name="net-dg-v4-ec2-specific"></a>

以下の変更は Amazon EC2 に固有のものです。そのほとんどまたはすべてが重大な変更です。

### を開いて項目を表示する
<a name="w2aac25c11c39b5b1"></a>

#### `GetDecryptedPassword`
<a name="w2aac25c11c39b5b1b3"></a>

Amazon EC2 の`GetDecryptedPassword`拡張機能は、[AWSSDK.Extensions.EC2.DecryptPassword ](https://www.nuget.org/packages/AWSSDK.Extensions.EC2.DecryptPassword)という別の拡張機能パッケージに移動されました。この変更は、OpenSSL 3 をサポートし、[BouncyCastle.Cryptography](https://www.nuget.org/packages/BouncyCastle.Cryptography) に依存するためです。

このパッケージのソースコードは GitHub の [https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.EC2.DecryptPassword](https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.EC2.DecryptPassword) にあります。

#### Amazon EC2 IMDSv1 のサポート
<a name="w2aac25c11c39b5b1b5"></a>

インスタンスメタデータサービスバージョン 1 (IMDSv1) のサポートが削除されました。SDK の V4 は、IMDS から認証情報やその他のメタデータを取得するときに、常にインスタンスメタデータサービスバージョン 2 (IMDSv2) を使用します。IMDS の詳細については、[Amazon EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/) [ユーザーガイド」の「IMDS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html) の使用」を参照してください。

#### 変更または削除された要素のプログラミング
<a name="w2aac25c11c39b5b1b7"></a>
+ `Amazon.EC2.Import` 名前空間とコード全体が削除されました。
+ `Amazon.EC2.Util` 名前空間とコード全体が削除されました。これには、Windows 用の EC2 AMI の検索に使用された AMIs ユーティリティが含まれます。
+ 古い`IpRanges`プロパティが [IpPermission](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/EC2/TIpPermission.html) クラスから削除されました。代わりに `Ipv4Ranges`または `Ipv6Ranges`プロパティを使用します。
+ EC[EC2InstanceMetadata](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TEC2InstanceMetadata.html) クラスから次の古いフィールドが削除されました: `EC2_METADATA_SVC`、`EC2_METADATA_ROOT`、`EC2_USERDATA_ROOT`、`EC2_DYNAMICDATA_ROOT`、`EC2_APITOKEN_URL`。

## S3 に固有の変更
<a name="net-dg-v4-s3-specific"></a>

以下の変更は Amazon S3 に固有のものです。そのほとんどまたはすべてが重大な変更です。

### を開いて項目を表示する
<a name="w2aac25c11c43b5b1"></a>

#### AWS リージョン us-east-1
<a name="w2aac25c11c43b5b1b3"></a>

`us-east-1` リージョン用に設定された Amazon S3 サービスクライアントは、他のリージョンのバケットにアクセスできなくなります。バケットには、バケットがあるリージョン用に設定された S3 サービスクライアントを使用してアクセスする必要があります。

この変更の詳細については、ブログ記事[「V4 の AWS SDK for .NET プレビュー](https://aws.amazon.com/blogs/developer/preview-4-of-aws-sdk-for-net-v4/) 4」を参照してください。

#### S3 暗号化クライアント
<a name="w2aac25c11c43b5b1b5"></a>

`Amazon.S3.Encryption` 名前空間で定義されている Amazon S3 暗号化クライアントが [AWSSDK.S3 ](https://www.nuget.org/packages/AWSSDK.S3)パッケージから削除されました。このクライアントは [Amazon.Extensions.S3.Encryption](https://www.nuget.org/packages/Amazon.Extensions.S3.Encryption) という独自のパッケージに移動され、そのドキュメントは にあります[https://aws.github.io/amazon-s3-encryption-client-dotnet/api/Amazon.Extensions.S3.Encryption.html](https://aws.github.io/amazon-s3-encryption-client-dotnet/api/Amazon.Extensions.S3.Encryption.html)。移行に関する詳細については、「[S3 暗号化クライアントの移行 (V1 から V2)](s3-encryption-migration-v1-v2.md)」を参照してください。S3 暗号化の詳細については、[「Amazon S3 暗号化クライアントデベロッパーガイド」の「サポートされている暗号化アルゴリズム](https://docs.aws.amazon.com/amazon-s3-encryption-client/latest/developerguide/encryption-algorithms.html)[Amazon S3](https://docs.aws.amazon.com/amazon-s3-encryption-client/latest/developerguide)」を参照してください。

#### の S3 タグ付けディレクティブ `CopyObject`
<a name="w2aac25c11c43b5b1b7"></a>

`TaggingDirective` プロパティは、 `AmazonS3Client.CopyObject`メソッドで使用される [CopyObjectRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TCopyObjectRequest.html) クラスのパブリックプロパティとして公開されています。このプロパティは、[CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) アクションで定義されている Amazon S3 `x-amz-tagging-directive`パラメータに対応します。

タグ付けディレクティブは COPY に自動的に設定されなくなりました。開発者がタグ付けディレクティブを指定しない場合、S3 バックエンドは自動的にそれを COPY と想定しますが、開発者が明示的にプロパティを null に設定した場合、値はまったく設定されません。

#### S3 設定の `UseArnRegion`プロパティ
<a name="w2aac25c11c43b5b1b9"></a>

[Amazon.S3.AmazonS3Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Config.html) クラスの `UseArnRegion`プロパティが更新され、`AWS_S3_USE_ARN_REGION`環境変数が共有 AWS `config`ファイルの `s3_use_arn_region`設定よりも優先されるようになりました。これらの変数と設定の詳細については、 SDK およびツール[リファレンスガイドの「設定](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html)リファレンス」を参照してください。 [AWS SDKs ](https://docs.aws.amazon.com/sdkref/latest/guide/)

#### メソッド`CopyObject`と `CopyPart`メソッドの先頭のスラッシュ
<a name="w2aac25c11c43b5b1c11"></a>

Amazon S3 `CopyObject`および `CopyPart`メソッドでは、先頭のスラッシュはトリミングされなくなります。`DisableTrimmingLeadingSlash` プロパティが [CopyObjectRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TCopyObjectRequest.html) クラスと [CopyPartRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TCopyPartRequest.html) クラスから削除されました。

#### `DoesS3BucketExist...` メソッド
<a name="w2aac25c11c43b5b1c13"></a>

古い メソッド`DoesS3BucketExist`と `DoesS3BucketExistAsync`メソッドは、[ICoreAmazonS3](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TICoreS3.html)3 インターフェイスを実装する [AmazonS3Util](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Util.html) クラスから削除されました。これらのメソッドは、常に HTTP を使用するため削除されました。代わりに [DoesS3BucketExistV2](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3UtilDoesS3BucketExistV2IS3String.html) と [DoesS3BucketExistV2Async](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3UtilDoesS3BucketExistV2AsyncIS3String.html) を使用します。

#### SDK は常に SigV4 を使用します
<a name="w2aac25c11c43b5b1c15"></a>

のバージョン 4 では、署名リクエストに AWS SDK for .NET 常に AWS 署名バージョン 4 (SigV4) が使用されます。この変更により、次の関連変更が発生します。
+ [AWSConfigsS3](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigsS3.html) クラスの `UseSignatureVersion4`プロパティは削除されました。
+ [Amazon.Runtime.ClientConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html) クラスの `SignatureVersion`プロパティは削除されました。このプロパティは、下位互換性のために Amazon S3 でのみ使用されました。
+ `RegionEndpoint.Endpoint` クラスは削除されました。これには、Amazon S3 の署名バージョンを上書きするために使用された `SignatureVersionOverride`プロパティが含まれます。代わりに、サービス固有の`client.DetermineServiceOperationEndPoint()`方法を使用します。
+ SigV4 を使用するように [AmazonS3Util.PostUpload](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3UtilPostUploadS3PostUploadRequest.html) および [S3PostUploadSignedPolicy.GetSignedPolicy](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3PostUploadSignedPolicyGetSignedPolicyStringAWSCredentialsString.html) メソッドを更新しました。その結果、 `S3PostUploadSignedPolicy.GetSignedPolicyV4`メソッドは、 が同じ関数を実行する`GetSignedPolicy`ようになったため削除されました。さらに、 `GetSignedPolicy`にはリージョンエンドポイントの 3 番目のパラメータが与えられています。

#### `GetACL` および `PutACL`メソッド
<a name="w2aac25c11c43b5b1c17"></a>

[AmazonS3Client](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Client.html) クラスの `GetACL`および `PutACL`メソッドは廃止とマークされています。これらのメソッドの機能にアクセスするには、代わりに `GetBucketACL`、、`PutBucketACL`、`GetObjectACL`および の新しいメソッドを使用します`PutObjectACL`。

#### 廃止されたプログラミング要素の削除
<a name="w2aac25c11c43b5b1c19"></a>

列挙値、型、メソッド、名前空間など、Amazon S3 実装の多くのプログラミング要素が SDK の V4 から削除されました。これらは、以前に説明されていない場合は、削除に対応するために実行できる潜在的な手順とともに、以下に一覧表示されます。
+ `DisableMD5Stream` プロパティが [TransferUtilityUploadRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TTransferUtilityUploadRequest.html) クラスから削除されました。代わりに、`DisableDefaultChecksumValidation` プロパティを使用してください。

  さらに、 `CalculateContentMD5Header`プロパティは `TransferUtilityUploadRequest` クラスから削除されました。SDK はデフォルトでチェックサムを計算するため、このプロパティは不要になりました。
+ `ServerSideEncryptionMethod` および `ServerSideEncryptionKeyManagementServiceKeyId`プロパティは [CopyPartRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TCopyPartRequest.html) クラスから削除されました。代わりに、[InitiateMultipartUploadRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TInitiateMultipartUploadRequest.html) クラスで同じ名前のプロパティを使用します。これは、[AmazonS3Client](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Client.html) クラスの一部の`InitiateMultipartUpload...`メソッドで使用されます。
+ `Expires` プロパティが [GetObjectResponse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TGetObjectResponse.html) クラスから削除されました。代わりに、`ExpiresString` プロパティを使用してください。文字列が有効なタイムスタンプ形式ではない可能性があるため、コードは に変換するときに `TryParse`メソッドを使用する必要があります`DateTime`。
+ 古い AWS リージョン 識別子が [S3Region](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Region.html) 列挙から削除されました。
+ `Prefix` プロパティが [LifecycleRule](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TLifecycleRule.html) クラスから削除されました。代わりに、`Filter` プロパティを使用してください。

  さらに、 `NoncurrentVersionTransition`および `Transition`プロパティは `LifecycleRule` クラスから削除されました。代わりに `NoncurrentVersionTransitions`および `Transitions`コレクションを使用します。
+ `Event` プロパティが [TopicConfiguration](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TTopicConfiguration.html) クラスから削除されました。代わりに `Events`コレクションを使用します。
+ CalculateContentMD5Header プロパティ。SDK はデフォルトでチェックサムを計算するため、このプロパティを設定する必要がなくなりました。
+ `Bucket` プロパティが [SelectObjectContentRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TSelectObjectContentRequest.html) クラスから削除されました。代わりに、`BucketName` プロパティを使用してください。
+ `NumberOfUploadThreads` プロパティが [TransferUtilityConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TTransferUtilityConfig.html) クラスから削除されました。代わりに `ConcurrentServiceRequests`プロパティを使用します。

## 削除された要素のプログラミング
<a name="net-dg-v4-removed"></a>

列挙値、型、メソッド、名前空間など、多くのプログラミング要素が SDK の V4 から削除されました。これらは、以前に説明されていない場合は、削除に対応するために実行できる潜在的な手順とともに、以下に一覧表示されます。

### を開いて項目を表示する
<a name="w2aac25c11c47b5b1"></a>

#### `Amazon.Auth.AccessControlPolicy.ActionIdentifiers`​ 名前空間
<a name="w2aac25c11c47b5b1b3"></a>

`Amazon.Auth.AccessControlPolicy.ActionIdentifiers` 名前空間は削除されました。これには、 `IdentityandAccessManagementActionIdentifiers` クラスで定義された IAM アクション識別子が含まれます。これらのアクション識別子を使用するコードは、アクション名の文字列値を使用するように変更する必要があります。

詳細については、[「IAM ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/)」の[JSON からの IAM マネージドポリシーの作成](iam-policies-create-json.md)「」および「JSON ポリシーの概要」を参照してください。 [https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)

#### `ClientConfig` クラス
<a name="w2aac25c11c47b5b1b7"></a>

[Amazon.Runtime.ClientConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html) クラスは、[AmazonS3Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Config.html) などのサービスクライアント設定クラスのベースクラスです。このクラスから次のプログラミング要素が削除されました。
+ `DetermineServiceURL` および `DetermineDnsSuffix`メソッドは削除されました。代わりに、[AmazonS3Client.DetermineServiceOperationEndpoint](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3DetermineServiceOperationEndpointWebServiceRequest.html) などのサービスクライアントの `DetermineServiceOperationEndpoint`メソッドを使用します。
+ `ReadEntireResponse` プロパティは削除されました。代わりに次のいずれかを使用します。
  + [AWSConfigs.LoggingConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TLoggingConfig.html) クラスの `LogResponses`プロパティ。
  + クライアント設定の `LogResponse`プロパティ。[AmazonS3Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Config.html) など。

#### `Amazon.Runtime`​ 名前空間
<a name="w2aac25c11c47b5b1c11"></a>

[Amazon.Runtime](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntime.html) 名前空間が次のように更新されました。
+ 古い`ECSTaskCredentials`クラスが名前空間から削除されました。代わりに、[Amazon EKS Pod ID ](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html)もサポートする [GenericContainerCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TGenericContainerCredentials.html) プロバイダーを使用してください。
+ 古い `StoredProfileAWSCredentials`および `StoredProfileCredentials` クラスが名前空間から削除されました。代わりに、[Amazon.Runtime.CredentialManagement ](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntimeCredentialManagement.html)名前空間の [NetSDKCredentialsFile](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TNetSDKCredentialsFile.html) または [SharedCredentialsFile](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSharedCredentialsFile.html) クラスを使用します。
+ [SSOAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSSOAWSCredentials.html) クラスの古い`HasCachedAccessTokenAvailable`メソッドが名前空間から削除されました。
+ 古い`EnvironmentAWSCredentials`クラスが名前空間から削除されました。代わりに [AppConfigAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TAppConfigAWSCredentials.html) クラスを使用します。
+ 古い`StoredProfileFederatedCredentials`クラスが名前空間から削除されました。代わりに [FederatedAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TFederatedAWSCredentials.html) クラスを使用します。
+ 名前空間から次の古いクラスが削除されました: `EnvironmentVariableAWSEndpointDiscoveryEnabled`、`ProfileAWSEndpointDiscoveryEnabled`、`FallbackEndpointDiscoveryEnabledFactory`。
+ 古い`UseSigV4`プロパティが [AmazonWebServiceRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TWebServiceRequest.html) クラスから削除されました。代わりに、`SignatureVersion` プロパティを使用してください。
+ `Amazon.Runtime.Internal.Util` 名前空間の `ProfileIniFile` クラスには、 というオーバーロードされたメソッドがあります`TryGetSection`。の `out`パラメータをサポートしていない メソッドのバージョン`nestedProperties`が クラスから削除されました。
+ `Amazon.Runtime.Internal.Auth` 名前空間の古い`EventBridgeSigner`クラスは削除されました。
+ 古い`Parameters`ディクショナリプロパティが [WebServiceRequestEventArgs](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TWebServiceRequestEventArgs.html) クラスから削除されました。代わりに、`ParameteCollection` プロパティを使用してください。

#### BouncyCastle
<a name="w2aac25c11c47b5b1c13"></a>

BouncyCastle のソースコピーが SDK の V4 から削除されました。

#### `StoredProfileSAMLCredentials` クラス
<a name="w2aac25c11c47b5b1c15"></a>

[Amazon.SecurityToken.SAML](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/SecurityToken/NSecurityTokenSAML.html) 名前空間の古い`StoredProfileSAMLCredentials`クラスは削除されました。代わりに、[Amazon.Runtime](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntime.html) 名前空間で [FederatedAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TFederatedAWSCredentials.html) クラスを使用します。

#### `AWSSDKUtils` クラス
<a name="w2aac25c11c47b5b1c17"></a>

[AWSSDKUtils](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TAWSSDKUtils.html) クラスから、`ResolveResourcePath`、`ProtectEncodedSlashUrlEncode`、および メソッドが削除されました`ConvertToUnixEpochMilliSeconds`。

#### `ProfileManager` クラス
<a name="w2aac25c11c47b5b1c19"></a>

古い`ProfileManager`クラスが [Amazon.Util](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/NUtil.html) 名前空間から削除されました。代わりに、[Amazon.Runtime.CredentialManagement ](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntimeCredentialManagement.html)名前空間の [NetSDKCredentialsFile](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TNetSDKCredentialsFile.html) または [SharedCredentialsFile](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSharedCredentialsFile.html) クラスを使用します。

#### `AWSConfigs` クラス
<a name="w2aac25c11c47b5b1c21"></a>

次の古いプロパティが [AWSConfigs](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html) クラスから削除されました: `Logging`、`ResponseLogging`、`LogMetrics`。代わりに、`LoggingConfig` プロパティを使用してください。

#### `ConditionFactory` クラス
<a name="w2aac25c11c47b5b1c23"></a>

次の署名を持つメソッドが [ConditionFactory](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Auth/TConditionFactory.html) クラス から削除されました`NewCondition(ConditionFactory.DateComparisonType, DateTime)`。代わりに [NewConditionUtc](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Auth/MConditionFactoryNewConditionUtcConditionFactoryDateComparisonTypeDateTime.html) メソッドを使用します。

#### Amazon CloudFront ユーティリティ
<a name="w2aac25c11c47b5b1c25"></a>

古い`Amazon.CloudFront.Util`名前空間と`AmazonCloudFrontUtil`クラスは削除されました。

#### AWS IoT
<a name="w2aac25c11c47b5b1c27"></a>

[ListPrincipalThingsResponse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/IoT/TListPrincipalThingsResponse.html) クラスでは、ページ分割を優先して、`NextToken`オーバーライドのレガシーカスタマイズが削除されました。

#### AWS Lambda
<a name="w2aac25c11c47b5b1c29"></a>

[AmazonLambdaClient](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Lambda/TLambdaClient.html) クラスの次の`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 ランタイム
<a name="w2aac25c11c47b5b1c31"></a>

[PayloadPart](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/SageMakerRuntime/TPayloadPart.html) クラスの古いコンストラクタが削除されました。