Utilisation des opérations par lots avec les compartiments 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.

Utilisation des opérations par lots avec les compartiments de répertoires

Vous pouvez utiliser les opérations par lots Amazon S3 pour effectuer des opérations sur des objets stockés dans des compartiments S3. Pour en savoir plus sur les opérations par lots S3, consultez Exécution des opérations par lots à grande échelle sur des objets Amazon S3.

Les rubriques suivantes traitent de l'exécution d'opérations par lots sur des objets stockés dans la classe de stockage S3 Express One Zone dans des compartiments de répertoire.

Utilisation des opérations par lots avec les compartiments de répertoires

Vous pouvez exécuter les opérations Copy et AWS Lambda Invoke sur des objets stockés dans des compartiments de répertoire. Avec Copy, vous pouvez copier des objets entre des compartiments du même type (par exemple, d'un compartiment de répertoire vers un compartiment de répertoire). Vous pouvez également copier entre des compartiments à usage général et des compartiments de répertoires. Avec AWS Lambda la fonction Invoke, vous pouvez utiliser une fonction Lambda pour effectuer des actions sur les objets de votre bucket de répertoire avec le code que vous définissez.

Copie d'objets

Vous pouvez copier entre des compartiments de même type ou entre des compartiments de répertoires et des compartiments à usage général. Lorsque vous effectuez une copie dans un compartiment d'annuaire, vous devez utiliser le format Amazon Resource Name (ARN) correct pour ce type de compartiment. Le ARN format d'un bucket de répertoire estarn:aws:s3express:region:account-id:bucket/bucket-base-name--x-s3.

Vous pouvez également remplir votre compartiment de répertoires avec des données à l’aide de l’action Importer de la console S3. L’action Importer est une méthode simplifiée pour créer des tâches d’opérations par lots afin de copier des objets depuis des compartiments à usage général vers des compartiments de répertoires. Pour les tâches de copie Importer depuis des compartiments à usage général vers des compartiments de répertoires, S3 génère automatiquement un manifeste. Pour plus d'informations, consultez les sections Importation d'objets dans un compartiment de répertoire et Spécification d'un manifeste.

Invocation de fonctions Lambda () LambdaInvoke

L’utilisation d’opérations par lots pour invoquer des fonctions Lambda agissant sur des compartiments de répertoires est soumise à des exigences particulières. Par exemple, vous devez structurer votre demande Lambda à l'aide d'un v2 JSONschéma d'invocation, et spécifiez InvocationSchemaVersion 2.0 lorsque vous créez la tâche. Pour plus d'informations, consultez la section AWS Lambda Fonction Invoke.

Principales différences

Voici une liste des principales différences lorsque vous utilisez Batch Operations pour effectuer des opérations groupées sur des objets stockés dans des compartiments de répertoire avec la classe de stockage S3 Express One Zone :

  • Pour les compartiments de répertoire, SSE -S3 et le chiffrement côté serveur avec AWS Key Management Service (AWS KMS) clés (SSE-KMS) sont pris en charge. Si vous faites une CopyObject demande qui indique d'utiliser le chiffrement côté serveur avec des clés fournies par le client (SSE-C) sur un compartiment de répertoire (source ou destination), la réponse renvoie une erreur. HTTP 400 (Bad Request)

    Nous recommandons que le chiffrement par défaut du compartiment utilise la configuration de chiffrement souhaitée et que vous ne remplaciez pas le chiffrement par défaut du compartiment dans vos CreateSession demandes ou demandes PUT d'objets. Les nouveaux objets sont ensuite automatiquement chiffrés avec les paramètres de chiffrement souhaités. Pour plus d'informations sur les comportements de contournement du chiffrement dans les compartiments de répertoire et sur la façon de chiffrer les nouvelles copies d'objets dans un compartiment de répertoire avec SSE -KMS, voir Spécification du chiffrement côté serveur avec AWS KMS pour les téléchargements de nouveaux objets.

    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 le Copy opération dans Batch Operations. Dans ce cas, Amazon S3 effectue un appel à AWS KMS chaque fois qu'une demande de copie est faite pour un objet KMS chiffré. Pour plus d'informations sur l'utilisation de SSE - KMS sur les compartiments de répertoire, reportez-vous aux sections Configuration et surveillance du chiffrement par défaut pour les compartiments de répertoire etUtilisation du chiffrement côté serveur avec des AWS KMS clés (SSE-KMS) dans des compartiments de répertoires.

  • Les objets figurant dans des compartiments de répertoires ne peuvent pas être balisés. Vous ne pouvez spécifier qu’un jeu de balises vide. Par défaut, les opérations par lots copient les balises. Si vous copiez un objet comportant des balises entre des compartiments à usage général et des compartiments de répertoire, vous recevez une 501 (Not Implemented) réponse.

  • S3 Express One Zone vous offre la possibilité de choisir l'algorithme de somme de contrôle utilisé pour valider vos données lors des chargements ou des téléchargements. 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 : CRC32CRC32, SHA -1 et -256. SHA MD5les checksums basés sur la classe de stockage S3 Express One Zone ne sont pas pris en charge.

  • Par défaut, tous les compartiments Amazon S3 définissent le paramètre S3 Object Ownership comme étant appliqué par le propriétaire du compartiment et les listes de contrôle d'accès (ACLs) sont désactivées. Pour les compartiments de répertoires, ce paramètre ne peut pas être modifié. Vous pouvez copier un objet à partir de compartiments à usage général vers des compartiments de répertoires. Toutefois, vous ne pouvez pas remplacer la valeur par défaut ACL lorsque vous effectuez une copie vers ou depuis un bucket de répertoire.

  • Quelle que soit la manière dont vous spécifiez votre manifeste, la liste elle-même doit être stockée dans un compartiment à usage général. Batch Operations ne peut pas importer de manifestes existants depuis (ni enregistrer les manifestes générés dans) des compartiments de répertoire. Toutefois, les objets décrits dans le manifeste peuvent être stockés dans des compartiments de répertoires.

  • Batch Operations ne peut pas spécifier un compartiment de répertoire comme emplacement dans un rapport d'inventaire S3. Les rapports d'inventaire ne prennent pas en charge les compartiments de répertoires. Vous pouvez créer un fichier manifeste pour les objets d'un compartiment de répertoire en utilisant l'ListObjectsV2APIopération de liste des objets. Vous pouvez ensuite insérer la liste dans un CSV fichier.

Octroi de l'accès à

Pour effectuer des tâches de copie, 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 avoir l's3express:CreateSessionautorisation et l's3:GetObjectautorisation de lire l'objet source copié.

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

  • Pour invoquer une fonction Lambda, vous devez accorder des autorisations à votre ressource sur la base de votre fonction Lambda. Pour déterminer les autorisations requises, vérifiez les API opérations correspondantes.