Bermigrasi ke versi 3.5 dari AWS SDK untuk .NET - AWS SDK untuk .NET (V3)

Versi 4 (V4) dari AWS SDK untuk .NET telah dirilis!

Untuk mulai menggunakan versi baru SDK, lihat Panduan Pengembang AWS SDK untuk .NET (V4), terutama topik untuk Migrasi ke versi 4.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bermigrasi ke versi 3.5 dari AWS SDK untuk .NET

Versi 3.5 AWS SDK untuk .NET selanjutnya menstandarisasi pengalaman .NET dengan mentransisikan dukungan untuk semua variasi Non-Framework SDK ke .NET Standard 2.0. Bergantung pada lingkungan dan basis kode Anda, untuk memanfaatkan fitur versi 3.5, Anda mungkin perlu melakukan pekerjaan migrasi tertentu.

Topik ini menjelaskan perubahan dalam versi 3.5 dan kemungkinan pekerjaan yang mungkin perlu Anda lakukan untuk memigrasikan lingkungan atau kode Anda dari versi 3.

Apa yang berubah untuk versi 3.5

Berikut ini menjelaskan apa yang telah atau belum berubah di AWS SDK untuk .NET versi 3.5.

.NET Framework dan .NET Core

Support untuk .NET Framework dan .NET Core tidak berubah.

Xamarin

Proyek Xamarin (baru dan yang sudah ada) harus menargetkan .NET Standard 2.0. Lihat Dukungan .NET Standard 2.0 di Xamarin.Forms dan dukungan implementasi.NET.

Unity

Aplikasi Unity harus menargetkan profil.NET Standard 2.0 atau .NET 4.x menggunakan Unity 2018.1 atau yang lebih baru. Untuk informasi selengkapnya, lihat dukungan profil.NET. Selain itu, jika Anda menggunakan IL2CPP untuk membangun, Anda harus menonaktifkan pengupasan kode dengan menambahkan file link.xml, seperti yang dijelaskan dalam Merujuk AWS SDK untuk .NET Standar 2.0 dari Unity, Xamarin, atau UWP. Setelah Anda mem-port kode ke salah satu basis kode yang direkomendasikan, aplikasi Unity Anda dapat mengakses semua layanan yang ditawarkan oleh SDK.

Karena Unity mendukung .NET Standard 2.0, AWSSDKpaket.Core dari SDK versi 3.5 tidak lagi memiliki kode khusus Unity, termasuk beberapa fungsionalitas tingkat yang lebih tinggi. Untuk memberikan transisi yang lebih baik, semua kode Unity lama tersedia untuk referensi di aws-sdk-unity-net GitHub aws/ repositori. Jika Anda menemukan fungsionalitas yang hilang yang memengaruhi penggunaan AWS Unity, Anda dapat mengajukan permintaan fitur di https://github.com/aws/dotnet/issues.

Lihat juga Pertimbangan khusus untuk dukungan Unity.

Platform Windows Universal (UWP)

Targetkan aplikasi UWP Anda ke versi 16299 atau yang lebih baru (pembaruan Fall Creators, versi 1709, dirilis Oktober 2017).

Windows Phone dan Silverlight

Versi 3.5 AWS SDK untuk .NET tidak mendukung platform ini karena Microsoft tidak lagi aktif mengembangkannya. Untuk informasi selengkapnya, lihat berikut ini:

Pustaka kelas portabel lama (berbasis profil) PCLs

Pertimbangkan untuk menargetkan ulang pustaka Anda ke .NET Standard. Untuk informasi selengkapnya, lihat Perbandingan dengan Pustaka Kelas Portabel dari Microsoft.

Manajer Sinkronisasi Amazon Cognito dan Manajer Amazon Mobile Analytics

Abstraksi tingkat tinggi yang memudahkan penggunaan Amazon Cognito Sync dan Amazon Mobile Analytics dihapus dari versi 3.5. AWS SDK untuk .NET AWS AppSync adalah pengganti yang disukai untuk Amazon Cognito Sync. Amazon Pinpoint adalah pengganti yang lebih disukai untuk Amazon Mobile Analytics.

Jika kode Anda dipengaruhi oleh kurangnya kode pustaka tingkat tinggi untuk AWS AppSync dan Amazon Pinpoint, Anda dapat mencatat minat Anda pada salah satu atau kedua masalah GitHub berikut https://github.com/aws/: dotnet/issues/20 dan dotnet/issues/19. https://github.com/aws/ Anda juga dapat memperoleh pustaka untuk Amazon Cognito Sync Manager dan Amazon Mobile Analytics Manager dari repositori GitHub berikut: amazon-cognito-sync-manager aws/ -net dan aws/ -net. aws-mobile-analytics-manager

Memigrasi kode sinkron

Versi 3.5 AWS SDK untuk .NET mendukung baik .NET Framework dan .NET Standard (melalui versi .NET Core seperti.NET core 3.1, .NET 5, dan sebagainya). Variasi SDK yang sesuai dengan.NET Standard hanya menyediakan metode asinkron, jadi jika Anda ingin memanfaatkan .NET Standard, Anda harus mengubah kode sinkron sehingga berjalan secara asinkron.

Cuplikan kode berikut menunjukkan bagaimana Anda dapat mengubah kode sinkron menjadi kode asinkron. Kode dalam cuplikan ini digunakan untuk menampilkan jumlah bucket Amazon S3.

Kode asli memanggil 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}");

Untuk menggunakan SDK versi 3.5, panggil ListBucketsAsyncsaja.

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}");