AWSAPI asinkron untuk .NET - AWS SDK for .NET

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

AWSAPI asinkron untuk .NET

AWS SDK for .NETMenggunakan Task-based Asynchronous Pattern (TAP) untuk implementasi asinkron. Untuk mempelajari TAP selengkapnya, lihat Pola Asinkron Berbasis Tugas (TAP) di docs.microsoft.com.

Topik ini memberi Anda gambaran umum tentang cara menggunakan TAP dalam panggilan Anda ke klien AWS layanan.

Metode asinkron dalam AWS SDK for .NET API adalah operasi berdasarkan Task kelas atau kelas. Task<TResult> Lihat docs.microsoft.com untuk informasi tentang kelas-kelas ini: Kelas tugas, Kelas tugas. <TResult>

Ketika metode API ini dipanggil dalam kode Anda, mereka harus dipanggil dalam fungsi yang dideklarasikan dengan async kata kunci, seperti yang ditunjukkan pada contoh berikut.

static async Task Main(string[] args) { ... // Call the function that contains the asynchronous API method. // Could also call the asynchronous API method directly from Main // because Main is declared async var response = await ListBucketsAsync(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); ... } // Async method to get a list of Amazon S3 buckets. private static async Task<ListBucketsResponse> ListBucketsAsync() { ... var response = await s3Client.ListBucketsAsync(); return response; }

Seperti yang ditunjukkan pada cuplikan kode sebelumnya, ruang lingkup yang lebih disukai untuk async deklarasi adalah fungsinya. Main Menyetel async cakupan ini memastikan bahwa semua panggilan ke klien AWS layanan harus asinkron. Jika Anda tidak dapat mendeklarasikan Main asinkron karena alasan tertentu, Anda dapat menggunakan async kata kunci pada fungsi selain Main dan kemudian memanggil metode API dari sana, seperti yang ditunjukkan pada contoh berikut.

static void Main(string[] args) { ... Task<ListBucketsResponse> response = ListBucketsAsync(); Console.WriteLine($"Number of buckets: {response.Result.Buckets.Count}"); ... } // Async method to get a list of Amazon S3 buckets. private static async Task<ListBucketsResponse> ListBucketsAsync() { ... var response = await s3Client.ListBucketsAsync(); return response; }

Perhatikan Task<> sintaks khusus yang diperlukan Main saat Anda menggunakan pola ini. Selain itu, Anda harus menggunakan Resultanggota respons untuk mendapatkan data.

Anda dapat melihat contoh lengkap panggilan asinkron ke klien AWS layanan di Ikuti tur singkat bagian (Aplikasi lintas platform sederhanadanAplikasi berbasis Windows sederhana) dan di. Contoh kode dengan panduan