AWS-asynchrone APIs für .NET - AWS SDK for .NET

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS-asynchrone APIs für .NET

Das AWS SDK for .NET verwendet das Task-Based Asynchronous Pattern (TAP) für seine asynchrone Implementierung. Weitere Informationen zum TAP finden Sie unter Task-based Asynchronous Pattern (TAP) auf docs.microsoft.com.

Dieses Thema gibt Ihnen einen Überblick darüber, wie Sie TAP bei Ihren Anrufen an Serviceclients verwenden können. AWS

Die asynchronen Methoden in der AWS SDK for .NET API sind Operationen, die auf der Task Klasse oder der Task<TResult> Klasse basieren. Informationen zu diesen Klassen finden Sie auf docs.microsoft.com: Task-Klasse, Task-Klasse. <TResult>

Wenn diese API-Methoden in Ihrem Code aufgerufen werden, müssen sie innerhalb einer Funktion aufgerufen werden, die mit dem async Schlüsselwort deklariert ist, wie im folgenden Beispiel gezeigt.

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

Wie im vorherigen Codeausschnitt gezeigt, ist der bevorzugte Bereich für die async Deklaration die Funktion. Main Durch die Festlegung dieses async Bereichs wird sichergestellt, dass alle Aufrufe an AWS Service-Clients asynchron sein müssen. Wenn Sie aus irgendeinem Grund nicht als asynchron deklarieren Main können, können Sie das async Schlüsselwort für andere Funktionen als verwenden Main und dann die API-Methoden von dort aus aufrufen, wie im folgenden Beispiel gezeigt.

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

Beachten Sie die spezielle Task<> Syntax, die erforderlich istMain, wenn Sie dieses Muster verwenden. Außerdem müssen Sie das ResultMitglied der Antwort verwenden, um die Daten abzurufen.

Vollständige Beispiele für asynchrone Aufrufe von AWS Service-Clients finden Sie in den Machen Sie einen kurzen Rundgang Abschnitten (Einfache plattformübergreifende AppundEinfache Windows-basierte App) und inCodebeispiele mit Anleitung.