Utilisation de Batch Operations avec les compartiments de répertoires
Vous pouvez utiliser Amazon S3 Batch Operations pour effectuer des opérations sur des objets stockés dans des compartiments S3. Pour en savoir plus sur S3 Batch Operations, consultez Exécution des opérations par lot à grande échelle sur des objets Amazon S3.
Les rubriques suivantes traitent de l’exécution d’opérations par lot sur des objets stockés dans des compartiments de répertoires pour la classe de stockage S3 Express One Zone.
Rubriques
Utilisation de Batch Operations avec les compartiments de répertoires
Vous pouvez effectuer les opérations Copier et Invoquer la fonction AWS Lambda sur des objets stockés dans des compartiments de répertoires. Avec la fonction Copier, vous pouvez copier des objets entre des compartiments du même type (par exemple, d’un compartiment de répertoires à un autre). Vous pouvez également copier entre des compartiments à usage général et des compartiments de répertoires. Avec l’opération Invoquer la fonction AWS Lambda, vous pouvez utiliser une fonction Lambda pour effectuer des actions sur des objets figurant dans votre compartiment de répertoires avec du 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 vers un compartiment de répertoires, vous devez utiliser le format d’Amazon Resource Name (ARN) approprié pour ce type de compartiment. Le format d’ARN d’un compartiment de répertoires est arn:aws:s3express:. region:account-id:bucket/bucket-base-name--x-s3
Note
La copie d’objets entre différentes Régions AWS n’est pas prise en charge lorsque le compartiment source ou de destination se trouve dans une zone locale AWS. Les compartiments source et de destination doivent avoir la même Région AWS parent. Les compartiments source et de destination peuvent correspondre à différents types d’emplacement de compartiment (zone de disponibilité ou zone locale).
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 Batch Operations 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 Importation d’objets dans un compartiment de répertoires et Spécification d’un manifeste.
Invocation de fonctions Lambda (LambdaInvoke)
L’utilisation de Batch Operations 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 schéma d’invocation JSON v2 et spécifier InvocationSchemaVersion 2.0 lorsque vous créez la tâche. Pour plus d’informations, consultez Invoquer une fonction AWS Lambda.
Principales différences
Voici la liste des principales différences lors de l’utilisation de Batch Operations pour effectuer des opérations groupées sur des objets stockés dans des compartiments de répertoires avec la classe de stockage S3 Express One Zone :
-
Pour les compartiments de répertoires, le chiffrement SSE-S3 et le chiffrement côté serveur avec les clés AWS Key Management Service (AWS KMS) (SSE-KMS) sont pris en charge. Si vous effectuez une demande
CopyObjectqui spécifie d’utiliser le chiffrement côté serveur avec des clés fournies par le client (SSE-C) sur un compartiment de répertoires (source ou cible), la réponse renverra une erreur HTTP400 (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 demandes
CreateSessionni dans vos demandes d’objetsPUT. Les nouveaux objets seront ensuite automatiquement chiffrés avec les paramètres de chiffrement souhaités. Pour plus d’informations sur les comportements de remplacement du chiffrement dans les compartiments de répertoires et sur la façon de chiffrer les nouvelles copies d’objets dans un compartiment de répertoires avec SSE-KMS, consultez Spécification du chiffrement côté serveur avec AWS KMS pour les nouveaux chargements d’objets.Les clés de compartiment S3 ne sont pas prises en charge lorsque vous copiez des objets chiffrés avec SSE-KMS depuis des compartiments à usage général vers des compartiments de répertoires, depuis des compartiments de répertoires vers des compartiments à usage général ou entre des compartiments de répertoires, par le biais de l’opération Copy dans Batch Operations. Dans ce cas, Amazon S3 appelle AWS KMS chaque fois qu’une demande de copie est faite par rapport à un objet chiffré KMS. Pour plus d’informations sur l’utilisation de SSE-KMS au niveau des compartiments de répertoires, consultez Configuration et surveillance du chiffrement par défaut pour les compartiments de répertoires et Utilisation du chiffrement côté serveur avec des clés AWS KMS (SSE-KMS) dans les 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 ensemble de balises vide. Par défaut, Batch Operations copie les balises. Si vous copiez un objet comportant des balises entre des compartiments à usage général et des compartiments de répertoires, vous recevrez une réponse
501 (Not Implemented). -
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 contrôle d’intégrité des données Secure Hash Algorithms (SHA) ou Cyclic Redundancy Check (CRC) suivants : CRC32, CRC32C, SHA-1 ou SHA-256. Les sommes de contrôle basées sur MD5 ne sont pas prises en charge avec la classe de stockage S3 Express One Zone.
-
Par défaut, tous les compartiments Amazon S3 définissent le paramètre Propriété d’objets S3 sur Propriétaire du compartiment appliqué, et les listes de contrôle d’accès (ACL) 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. Cependant, vous ne pouvez pas remplacer la liste ACL par défaut lorsque vous effectuez une copie vers ou depuis un compartiment de répertoires.
-
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 à partir de compartiments de répertoires, ni enregistrer les manifestes générés dans ces compartiments. 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épertoires comme emplacement dans un rapport S3 Inventory. 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épertoires en utilisant l’API
ListObjectsV2pour répertorier les objets. Vous pouvez ensuite insérer cette liste dans un fichier CSV.
Octroi d’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:CreateSessionet de l’autorisations3:PutObjectpermettant d’écrire la copie des objets dans le compartiment de destination. -
Pour copier des objets dans des compartiments de répertoires à partir de compartiments à usage général, vous devez disposer de l’autorisation
s3express:CreateSessionet de l’autorisations3:GetObjectpermettant de lire l’objet source à copier.Pour plus d’informations, veuillez consulter CopyObject dans la Référence des API Amazon Simple Storage Service.
-
Pour invoquer une fonction Lambda, vous devez accorder des autorisations à votre ressource sur la base de votre fonction Lambda. Vérifiez les autorisations d’API correspondantes pour déterminer quelles autorisations sont requises.