À l'aide du 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.

À l'aide du AWS SDK for .NET

AWS SDK for .NET fournit l'API pour les opérations relatives au compartiment et aux 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é).

AWS SDK for .NET Cela vous donne 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 AWS SDK for .NET, vous utilisez leAWSSDK.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 plus d'informations sur l' AWS SDK for .NET API, consultez le manuel de référence de l'API AWS SDK for .NET Version 3.

Exécution des exemples de code .NET Amazon S3

Les exemples de code .NET présentés dans ce guide sont compatibles avec la AWS SDK for .NET version 3.0. Pour plus d'informations sur la configuration et l'exécution des exemples de code, consultez Getting Started with the AWS SDK for .NET dans AWS le Guide du développeur du SDK pour .NET.