Utilisation de l AWS SDK for Java - 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 Java

Le kit AWS SDK for Java 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 les objets en une seule opération, le kit SDK fournit une API permettant de charger des objets volumineux en plusieurs parties. Pour de plus amples informations, veuillez consulter Chargement et copie d'objets à l'aide d'un chargement partitionné.

Le kit AWS SDK for Java 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, 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'avez pas à 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 TransferManager. 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 TransferManager permet un chargement en une seule opération. Toutefois, l'API TransferManager bascule vers l'API de chargement partitionné lorsque la taille des données atteint un certain seuil. Lorsque cela est possible, l'API TransferManager 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. Vous pouvez configurer ces options à l'aide de la classe TransferManagerConfiguration.

Note

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

Organisation de l'API Java

Dans le kit AWS SDK for Java, l'API est fournie par les packages suivants :

  • com.amazonaws.services.s3 : fournit les API permettant de créer des clients Amazon S3 et d'utiliser des compartiments et des objets. Par exemple, il vous permet de créer des compartiments, de charger, d'obtenir ou de supprimer des objets, et de répertorier des clés.

  • com.amazonaws.services.s3.transfer : fournit l'API de haut niveau pour les opérations de données.

    Cette API de haut niveau est conçue pour simplifier le transfert des objets à destination et en provenance d'Amazon S3. Elle comprend la classe TransferManager, qui fournit des méthodes asynchrones pour utiliser, interroger et manipuler les transferts. Elle inclut également la classe TransferManagerConfiguration, qui permet de configurer la taille minimale des parties à charger, ainsi que le seuil (en octets) à partir duquel des téléchargements partitionnés doivent être utilisés.

  • com.amazonaws.services.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 package inclut la classe GetObjectRequest pour décrire votre demande d'objet GET, la classe ListObjectsRequest pour décrire vos demandes de clés de liste, et la classe InitiateMultipartUploadRequest pour créer des chargements partitionnés.

Pour de plus amples informations sur l'API AWS SDK for Java, veuillez consulter Référence API AWS SDK for Java.

Test des exemples de code Java Amazon S3

Les exemples de code Java présentés dans ce guide sont compatibles avec le kit AWS SDK for Java version 1.11.321. Pour des instructions sur la configuration et l'exécution des exemples de code, veuillez consulter la section Mise en route du Guide du développeur AWS SDK for Java.