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)
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
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 Result
membre 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