Copie d’un objet vers un compartiment de répertoires - 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.

Copie d’un objet vers un compartiment de répertoires

L'opération de copie crée une copie d'un objet déjà stocké dans Amazon S3. Vous pouvez copier des objets entre des compartiments de répertoires et des compartiments à usage général. Vous pouvez également copier des objets au sein d’un compartiment et entre des compartiments du même type, par exemple, d’un compartiment de répertoires à un autre.

Vous pouvez créer une copie d'un objet d'une capacité maximale de 5 Go en une seule opération atomique. Toutefois, pour copier un objet dont la taille est supérieure à 5 Go, vous devez utiliser les API opérations de téléchargement partitionné. Pour de plus amples informations, veuillez consulter Utilisation de téléchargements partitionnés avec des compartiments de répertoires.

Autorisations

Pour copier des objets, vous devez disposer des autorisations suivantes :

  • Pour copier des objets d’un compartiment de répertoires vers un autre, vous devez disposer de l’autorisation s3express:CreateSession.

  • Pour copier des objets à partir de compartiments de répertoires vers des compartiments à usage général, vous devez disposer de l’autorisation s3express:CreateSession et de l’autorisation s3:PutObject permettant d’écrire la copie des objets dans le compartiment de destination.

  • Pour copier des objets depuis des compartiments à usage général vers des compartiments de répertoire, vous devez disposer de l's3express:CreateSessionautorisation et de s3:GetObject l'autorisation nécessaires pour lire l'objet source copié.

    Pour plus d’informations, consultez .CopyObjectdans le Amazon Simple Storage Service API Reference.

Chiffrement

Amazon S3 chiffre automatiquement tous les nouveaux objets chargés dans un compartiment S3. La configuration de chiffrement par défaut d'un compartiment S3 est toujours activée et est au minimum définie sur le chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3).

Pour les compartiments de répertoire, SSE -S3 et le chiffrement côté serveur avec AWS Key Management Service (AWS KMS) les touches (SSE-KMS) sont prises en charge. Lorsque le compartiment de destination est un compartiment de répertoire, nous recommandons que le chiffrement par défaut du compartiment de destination utilise la configuration de chiffrement souhaitée et que vous ne remplaciez pas le chiffrement par défaut du compartiment. Les nouveaux objets sont ensuite automatiquement chiffrés avec les paramètres de chiffrement souhaités. De plus, les clés de compartiment S3 ne sont pas prises en charge lorsque vous copiez SSE des objets KMS chiffrés depuis des compartiments à usage général vers des compartiments de répertoire, des compartiments de répertoire vers des compartiments à usage général, ou entre des compartiments de répertoire, via CopyObject. Dans ce cas, Amazon S3 appelle AWS KMS chaque fois qu'une demande de copie est faite pour un objet KMS chiffré. Pour plus d'informations sur les comportements de remplacement du chiffrement dans les compartiments d'annuaire, voir Spécification du chiffrement côté serveur avec AWS KMS pour le téléchargement de nouveaux objets.

Pour les compartiments à usage général, vous pouvez utiliser SSE -S3 (par défaut), le chiffrement côté serveur avec AWS Key Management Service (AWS KMS) clés (SSE-KMS), chiffrement double couche côté serveur avec AWS KMS clés (DSSE-KMS) ou chiffrement côté serveur avec des clés fournies par le client (-C). SSE

Si vous faites une demande de copie qui indique d'utiliser DSSE - KMS ou SSE -C pour un compartiment de répertoire (le compartiment source ou de destination), la réponse renvoie une erreur.

Balises

Les compartiments de répertoires ne prennent pas en charge les balises. Si vous copiez un objet contenant des balises d'un compartiment à usage général vers un compartiment de répertoire, vous recevez une HTTP 501 (Not Implemented) réponse. Pour plus d’informations, consultez .CopyObjectdans le Amazon Simple Storage Service API Reference.

ETags

Les balises d'entité (ETags) pour S3 Express One Zone sont des chaînes alphanumériques aléatoires et ne sont pas des MD5 checksums. Pour garantir l'intégrité des objets, utilisez des checksums supplémentaires.

Sommes de contrôle supplémentaires

S3 Express One Zone vous offre la possibilité de choisir l’algorithme de somme de contrôle utilisé pour valider vos données pendant le chargement ou le téléchargement. Vous pouvez sélectionner l'un des algorithmes de hachage sécurisé (SHA) ou de contrôle de redondance cyclique (CRC) suivants pour vérifier l'intégrité des données : CRC32CRC32C, SHA -1 et -256. SHA MD5les checksums basés sur la classe de stockage S3 Express One Zone ne sont pas pris en charge.

Pour de plus amples informations, veuillez consulter Bonnes pratiques supplémentaires en matière de somme de contrôle S3.

Fonctionnalités prises en charge

Pour plus d'informations sur les fonctionnalités Amazon S3 prises en charge pour S3 Express One Zone, consultezEn quoi S3 Express One Zone est-il différent ?.

Pour copier un objet d'un bucket à usage général ou d'un bucket de répertoire vers un bucket de répertoire
  1. Connectez-vous au AWS Management Console et ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans le panneau de navigation de gauche, choisissez Compartiments.

  3. Choisissez le compartiment à partir duquel vous souhaitez copier des objets :

    • Pour effectuer une copie à partir d'un bucket à usage général, choisissez l'onglet Buckets à usage général.

    • Pour effectuer une copie à partir d'un bucket de répertoire, choisissez l'onglet Buckets de répertoire.

  4. Choisissez le compartiment à usage général ou le compartiment de répertoire contenant les objets que vous souhaitez copier.

  5. Cliquez sur l'onglet Objets. Sur la page Objets, cochez la case située à gauche des noms des objets que vous souhaitez copier.

  6. Dans le menu Actions, choisissez Copy (Copier).

    La page Copier apparaît.

  7. Sous Destination, choisissez Directory bucket pour votre type de destination. Pour spécifier le chemin de destination, choisissez Parcourir S3, naviguez jusqu'à la destination, puis cliquez sur le bouton d'option situé à gauche de la destination. Choisissez Choose destination (Choisir une destination) en bas à droite.

    Vous pouvez également saisir le chemin de destination.

  8. Sous Sommes de contrôle, indiquez si vous souhaitez copier les objets avec leurs fonctions de somme de contrôle existantes ou remplacer les fonctions de somme de contrôle existantes par une nouvelle. Lorsque vous avez chargé les objets, vous aviez la possibilité de spécifier l'algorithme total de contrôle utilisé pour vérifier l'intégrité des données. Lors de la copie de l'objet, vous avez la possibilité de sélectionner une nouvelle fonction. Si vous n'avez pas initialement spécifié de somme de contrôle supplémentaire, vous pouvez utiliser la section Sommes de contrôle pour en ajouter une.

    Note

    Même si vous choisissez d'utiliser la même fonction de somme de contrôle, la valeur de votre somme de contrôle peut changer si la taille de l'objet est supérieure à 16 Mo. La valeur du total de contrôle peut changer en raison de la façon dont les totaux de contrôle sont calculés pour les chargements partitionnés. Pour plus d'informations sur la façon dont le total de contrôle peut changer lors de la copie de l'objet, consultez Utilisation de totaux de contrôle au niveau des parties pour les chargements partitionnés.

    Pour modifier la fonction de total de contrôle, sélectionnez Replace with a new checksum function (Remplacer par une nouvelle fonction de total de contrôle). Choisissez la nouvelle fonction de somme de contrôle dans la liste déroulante. Lorsque l'objet est copié, la nouvelle somme de contrôle est calculée et stockée à l'aide de l'algorithme spécifié.

  9. En bas à droite, choisissez Copy (Copier). Amazon S3 copie votre objet dans la destination.

Pour copier un objet d’un compartiment de répertoires vers un compartiment à usage général
  1. Connectez-vous au AWS Management Console et ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans le panneau de navigation de gauche, choisissez Compartiments.

  3. Choisissez l'onglet Buckets du répertoire.

  4. Choisissez le compartiment de répertoire contenant les objets que vous souhaitez copier.

  5. Cliquez sur l'onglet Objets. Sur la page Objets, cochez la case située à gauche des noms des objets que vous souhaitez copier.

  6. Dans le menu Actions, choisissez Copy (Copier).

  7. Sous Destination, choisissez Bucket à usage général pour votre type de destination. Pour spécifier le chemin de destination, choisissez Parcourir S3, naviguez jusqu'à la destination, puis cliquez sur le bouton d'option situé à gauche de la destination. Choisissez Choose destination (Choisir une destination) en bas à droite.

    Vous pouvez également saisir le chemin de destination.

  8. Sous Sommes de contrôle, indiquez si vous souhaitez copier les objets avec leurs fonctions de somme de contrôle existantes ou remplacer les fonctions de somme de contrôle existantes par une nouvelle. Lorsque vous avez chargé les objets, vous aviez la possibilité de spécifier l'algorithme total de contrôle utilisé pour vérifier l'intégrité des données. Lors de la copie de l'objet, vous avez la possibilité de sélectionner une nouvelle fonction. Si vous n'avez pas initialement spécifié de somme de contrôle supplémentaire, vous pouvez utiliser la section Sommes de contrôle pour en ajouter une.

    Note

    Même si vous choisissez d'utiliser la même fonction de somme de contrôle, la valeur de votre somme de contrôle peut changer si la taille de l'objet est supérieure à 16 Mo. La valeur du total de contrôle peut changer en raison de la façon dont les totaux de contrôle sont calculés pour les chargements partitionnés. Pour plus d'informations sur la façon dont le total de contrôle peut changer lors de la copie de l'objet, consultez Utilisation de totaux de contrôle au niveau des parties pour les chargements partitionnés.

    Pour modifier la fonction de total de contrôle, sélectionnez Replace with a new checksum function (Remplacer par une nouvelle fonction de total de contrôle). Choisissez la nouvelle fonction de somme de contrôle dans la liste déroulante. Lorsque l'objet est copié, la nouvelle somme de contrôle est calculée et stockée à l'aide de l'algorithme spécifié.

  9. En bas à droite, choisissez Copy (Copier). Amazon S3 copie votre objet dans la destination.

SDK for Java 2.x
public static void copyBucketObject (S3Client s3, String sourceBucket, String objectKey, String targetBucket) { CopyObjectRequest copyReq = CopyObjectRequest.builder() .sourceBucket(sourceBucket) .sourceKey(objectKey) .destinationBucket(targetBucket) .destinationKey(objectKey) .build(); String temp = ""; try { CopyObjectResponse copyRes = s3.copyObject(copyReq); System.out.println("Successfully copied " + objectKey +" from bucket " + sourceBucket +" into bucket "+targetBucket); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

L'copy-objectexemple de commande suivant montre comment utiliser le AWS CLI pour copier un objet d'un compartiment vers un autre compartiment. Vous pouvez copier des objets entre les types de compartiments. Pour exécuter cette commande, remplacez les espaces réservés saisis par l'utilisateur par vos propres informations.

aws s3api copy-object --copy-source bucket SOURCE_BUCKET/SOURCE_KEY_NAME --key TARGET_KEY_NAME --bucket TARGET_BUCKET_NAME

Pour plus d’informations, consultez .copy-object dans le .AWS CLI Référence de commande.