API asynchrones AWS pour .NET - AWS SDK for .NET

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

API asynchrones AWS pour .NET

AWS SDK for .NETutilise le modèle asynchrone basé sur les tâches (TAP) pour son implémentation asynchrone. Pour en savoir plus sur le TAP, consultez la section Modèle asynchrone basé sur les tâches (TAP) sur docs.microsoft.com.

Cette rubrique vous donne un aperçu de la façon d'utiliser le TAP dans vos appels aux clients AWS du service.

Les méthodes asynchrones de l'AWS SDK for .NETAPI sont des opérations basées sur la Task classe ou la Task<TResult> classe. Consultez le site docs.microsoft.com pour obtenir des informations sur les classes suivantes : classe de tâches, classe de tâches. <TResult>

Lorsque ces méthodes d'API sont appelées dans votre code, elles doivent être appelées dans une fonction déclarée avec le async mot clé, comme indiqué dans l'exemple suivant.

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

Comme indiqué dans l'extrait de code précédent, la portée préférée de la async déclaration est la Main fonction. La définition de cette async étendue garantit que tous les appels aux clients du AWS service doivent être asynchrones. Si vous ne pouvez pas déclarer Main que vous êtes asynchrone pour une raison ou une autre, vous pouvez utiliser le async mot clé sur des fonctions autres que Main puis appeler les méthodes de l'API à partir de là, comme indiqué dans l'exemple suivant.

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

Notez la Task<> syntaxe spéciale qui est nécessaire Main lorsque vous utilisez ce modèle. En outre, vous devez utiliser le Resultmembre de la réponse pour obtenir les données.

Vous pouvez voir des exemples complets d'appels asynchrones à des clients AWS de service dans la Faites une visite rapide section (Application multiplateforme simpleetApplication simple basée sur Windows) et dans. Exemples de code avec conseils