Utilisation de l AWS SDK for .NET - Amazon Simple Storage Service

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.

Utilisation de l AWS SDK for .NET

Le kit AWS SDK for .NET fournit une API pour les opérations de compartiments et d'objets Amazon S3. Pour les opérations d'objet, en plus de fournir l'API pour charger des objets en une seule opération, le SDK fournit l'API permettant de charger des objets volumineux en plusieurs parties (cf. Chargement et copie d'objets à l'aide d'un chargement partitionné).

Le kit AWS SDK for .NET vous offre la possibilité d'utiliser une API de haut niveau ou de bas niveau.

API de bas niveau

Les API de bas niveau correspondent aux opérations REST sous-jacentes d'Amazon S3, telles que les opérations de création, de mise à jour et de suppression qui s'appliquent aux compartiments et aux objets. Lorsque vous chargez des objets volumineux à l'aide de l'API de chargement partitionné de bas niveau (voir Chargement et copie d'objets à l'aide d'un chargement partitionné), vous bénéficiez d'un meilleur contrôle. Par exemple, elle vous permet d'interrompre et de reprendre vos chargements partitionnés, de modifier la taille des parties pendant le chargement ou de démarrer un chargement si vous ignorez à l'avance la taille des données. Si vous n'éprouvez pas le besoin d'effectuer ces opérations, utilisez l'API de haut niveau pour charger les objets.

API de haut niveau

Pour le chargement des objets, le SDK offre un niveau d'abstraction plus élevé grâce à la classe TransferUtility. L'API de haut niveau est une API plus simple, qui vous permet de charger des fichiers et des flux dans Amazon S3 avec simplement quelques lignes de code. Vous devez utiliser cette API pour charger des données, sauf si vous avez besoin de contrôler le chargement comme indiqué dans la section ci-dessus relative à l'API de bas niveau.

Pour les données moins volumineuses, l'API TransferUtility permet un chargement en une seule opération. Toutefois, l'API TransferUtility bascule vers l'API de chargement partitionné lorsque la taille des données atteint un certain seuil. Par défaut, elle utilise des threads multiples pour charger les différentes parties simultanément. En cas d'échec du chargement d'une partie, l'API essaie de la charger de nouveau, jusqu'à trois fois. Toutefois, vous pouvez configurer ces options.

Note

Lorsque vous utilisez un flux comme source de données, la classe TransferUtility n'effectue pas de chargements simultanés.

Organisation de l'API .NET

Lorsque vous écrivez des applications Amazon S3 à l'aide du kit AWS SDK for .NET, vous utilisez le fichier AWSSDK.dll. Dans cet assemblage, les namespaces suivants fournissent l'API de chargement partitionné :

  • Amazon.S3.Transfer : fournit l'API de haut niveau permettant de charger vos données en plusieurs parties.

    Il inclut la classe TransferUtility, qui vous permet de spécifier un fichier, un répertoire ou un flux pour le chargement de vos données. Il inclut également les classes TransferUtilityUploadRequest et TransferUtilityUploadDirectoryRequest pour la configuration de paramètres avancés comme le nombre de threads simultanés, la taille des parties, les métadonnées d'objet, la classe de stockage (STANDARD, REDUCED_REDUNDANCY) et la liste de contrôle d'accès (ACL) de l'objet.

  • Amazon.S3 : fournit l'implémentation pour les API de bas niveau.

    Il fournit des méthodes qui correspondent à l'API de chargement partitionné REST d'Amazon S3 (voir Utilisation de l'API REST).

  • Amazon.S3.Model : fournit les classes de l'API de bas niveau permettant de créer les demandes et de traiter les réponses. Par exemple, ce namespace fournit les classes InitiateMultipartUploadRequest et InitiateMultipartUploadResponse que vous pouvez utiliser lorsque vous lancez un chargement partitionné, et les classes UploadPartRequest et UploadPartResponse lors du chargement des parties.

  • Amazon.S3.Encryption : fournit AmazonS3EncryptionClient.

  • Amazon.S3.Util : fournit différentes classes d'utilitaire telles que AmazonS3Util et BucketRegionDetector.

Pour de plus amples informations sur l'API AWS SDK for .NET, veuillez consulter Référence API du kit SDK AWS pour .NET Version 3.

Exécution des exemples de code .NET Amazon S3

Les exemples de code .NET de ce guide sont compatibles avec AWS SDK for .NET version 3.0. Pour de plus amples informations sur la configuration et l'exécution des exemples de code, veuillez consulter la section Mise en route avec le kit SDK AWS pour .NET du Guide du développeur SDK AWS pour .NET.