翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
バージョン 3.5 の AWS SDK for .NET への移行
バージョン 3.5 の AWS SDK for .NET は、SDK のすべての非 Framework バリエーションに対するサポートを .NET Standard 2.0
このトピックでは、バージョン 3.5 の変更点と、環境やコードをバージョン 3 から移行するために必要な作業について説明します。
バージョン 3.5 の変更点
AWS SDK for .NET バージョン 3.5 で変更された点と変更されていない点について以下に説明します。
.NET Framework と .NET Core
.NET Framework と .NET Core に対するサポートは変更されていません。
Xamarin
Xamarin プロジェクト (新規および既存) は、.NET Standard 2.0 を対象とする必要があります。「Xamarin.Forms での .NET Standard 2.0 のサポート
Unity
Unity アプリは、Unity 2018.1 以降を使用する .NET Standard 2.0 または .NET 4.x プロファイルを対象とする必要があります。詳細については、「.NET profile suppot
Unity は .NET Standard 2.0 をサポートするため、SDK バージョン 3.5 の AWSSDK.Core パッケージから Unity 固有のコードが除外されました。一部の上位レベルの機能も除外されました。すべての レガシー Unity コードは aws/aws-sdk-unity-net
また、「Unity のサポートに関する特別な考慮事項」も参照してください。
ユニバーサル Windows プラットフォーム (UWP)
UWP アプリケーションの対象はバージョン 16299 以降
Windows Phone と Silverlight
これらのプラットフォームは、Microsoft で現在開発されていないため、バージョン 3.5 の AWS SDK for .NET ではサポートされません。詳細については、次を参照してください。
レガシーポータブルクラスライブラリ (プロファイルベースの PCL)
ライブラリを .NET Standard に再ターゲットすることを検討します。詳細については、「ポータブルクラスライブラリとの比較
Amazon Cognito Sync マネージャーと Amazon Mobile Analytics マネージャー
Amazon Cognito Sync と Amazon Mobile Analytics の使用を容易にする高レベルの抽象化は、バージョン 3.5 の AWS SDK for .NET から削除されています。Amazon Cognito Sync の代わりに AWS AppSync の使用が推奨されます。Amazon Mobile Analytics の 代わりに Amazon Pinpoint の使用が推奨されています。
AWS AppSync および Amazon Pinpoint の上位レベルのライブラリコードの欠如によってコードが影響を受ける場合は、GitHub 問題 (https://github.com/aws/dotnet/issues/20
同期コードの移行
AWS SDK for .NETのバージョン 3.5 は、.NET フレームワークと.Net Standard (.NET Core 3.1、.NET 5 などの.NET Core バージョンによる) の両方をサポートしています。.Net Standardに準拠する SDK のバリエーションでは、非同期メソッドしか提供されないため、.NET Standard を利用するには、同期コードを変更して非同期で実行する必要があります。
次のコードスニペットは、同期コードを非同期コードに変更する方法を示しています。これらのスニペットのコードでは、Amazon S3 バケットの数を表示します。
元のコードは ListBuckets を呼び出します。
private static ListBucketsResponse MyListBuckets() { var s3Client = new AmazonS3Client(); var response = s3Client.ListBuckets(); return response; } // From the calling function ListBucketsResponse response = MyListBuckets(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}");
バージョン 3.5 の SDK を使用するには、代わりに ListBucketsAsync を呼び出します。
private static async Task<ListBucketsResponse> MyListBuckets() { var s3Client = new AmazonS3Client(); var response = await s3Client.ListBucketsAsync(); return response; } // From an **asynchronous** calling function ListBucketsResponse response = await MyListBuckets(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); // OR From a **synchronous** calling function Task<ListBucketsResponse> response = MyListBuckets(); Console.WriteLine($"Number of buckets: {response.Result.Buckets.Count}");