API asincrone di AWS per .NET - AWS SDK for .NET

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

API asincrone di AWS per .NET

AWS SDK for .NETutilizza il Task-based Asynchronous Pattern (TAP) per la sua implementazione asincrona. Per ulteriori informazioni sul TAP, vedere Task-based Asynchronous Pattern (TAP) su docs.microsoft.com.

Questo argomento offre una panoramica su come utilizzare TAP nelle chiamate ai clienti di assistenza. AWS

I metodi asincroni nell'AWS SDK for .NETAPI sono operazioni basate sulla Task classe o sulla classe. Task<TResult> Vedi docs.microsoft.com per informazioni su queste classi: Task class, Task class. <TResult>

Quando questi metodi API vengono chiamati nel codice, devono essere chiamati all'interno di una funzione dichiarata con la async parola chiave, come illustrato nell'esempio seguente.

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

Come illustrato nel frammento di codice precedente, l'ambito preferito per la async dichiarazione è la funzione. Main L'impostazione di questo async ambito garantisce che tutte le chiamate ai client di AWS servizio debbano essere asincrone. Se per qualche motivo non puoi Main dichiarare di essere asincrono, puoi utilizzare la async parola chiave su funzioni diverse da Main e quindi chiamare i metodi API da lì, come mostrato nell'esempio seguente.

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

Notate la Task<> sintassi speciale necessaria Main quando utilizzate questo modello. Inoltre, è necessario utilizzare il Resultmembro della risposta per ottenere i dati.

È possibile visualizzare esempi completi di chiamate asincrone ai client di AWS assistenza nella Fai un breve tour sezione (Semplice app multipiattaformaeSemplice app basata su Windows) e in. Esempi di codice con indicazioni