Exécution d’opérations groupées sur des objets avec Batch Operations
Vous pouvez utiliser S3 Batch Operations pour effectuer des opérations par lot à grande échelle sur des objets Amazon S3. S3 Batch Operations peut effectuer une seule opération sur les listes d’objets Amazon S3 que vous spécifiez. Une seule tâche peut effectuer une opération spécifiée sur des milliards d’objets contenant des exaoctets de données. Amazon S3 suit la progression, envoie des notifications et stocke un rapport de fin d’opérations détaillé sur toutes les actions, offrant ainsi une expérience sans serveur entièrement gérée et contrôlable. Vous pouvez utiliser S3 Batch Operations via la console Amazon S3, l’AWS CLI, les kits AWS SDK ou l’API REST Amazon S3.
Utilisez S3 Batch Operations pour copier des objets et définir des étiquettes d’objet ou des listes de contrôle d’accès (ACL). Vous pouvez également lancer des restaurations d’objets à partir de S3 Glacier Flexible Retrieval ou invoquer une fonction AWS Lambda pour effectuer des actions personnalisées à l’aide de vos objets. Vous pouvez effectuer ces opérations sur une liste d’objets personnalisée ou utiliser un rapport Amazon S3 Inventory pour faciliter la génération de listes d’objets. Amazon S3 Batch Operations utilise les mêmes opérations d’API Amazon S3 que celles que vous utilisez déjà avec Amazon S3.
Note
Pour plus d’informations sur l’utilisation de la classe de stockage Amazon S3 Express One Zone avec des compartiments de répertoires, consultez S3 Express One Zone et Utilisation des compartiments de répertoires. Pour plus d’informations sur l’utilisation de Batch Operations avec S3 Express One Zone et les compartiments de répertoires, consultez Utilisation de Batch Operations avec les compartiments de répertoires.
Principes de base de S3 Batch Operations
Vous pouvez utiliser S3 Batch Operations pour effectuer des opérations par lot à grande échelle sur des objets Amazon S3. S3 Batch Operations peut exécuter une seule opération ou action sur des listes d’objets Amazon S3 que vous spécifiez.
Terminologie
Cette section utilise les termes manifeste, tâches, opérations et sous-tâches, dont la définition est la suivante :
- Manifeste
-
Un manifeste est un objet Amazon S3 qui contient les clés d’objet sur lesquelles Amazon S3 doit agir. Si vous souhaitez créer une tâche Batch Operations, vous devez fournir un manifeste. Votre manifeste généré par l’utilisateur doit contenir le nom du compartiment, la clé d’objet et, facultativement, la version de chaque objet. Si vous fournissez un manifeste généré par l’utilisateur, il doit se présenter sous la forme d’un rapport Amazon S3 Inventory ou d’un fichier CSV.
Vous pouvez aussi indiquer à Amazon S3 de générer automatiquement un manifeste en fonction des critères de filtre d’objet que vous spécifiez lors de la création de la tâche. Cette option est disponible pour les tâches Batch Operations que vous créez dans la console Amazon S3, ou pour tout type de tâche que vous créez à l’aide de l’AWS Command Line Interface (AWS CLI), des kits AWS SDK ou de l’API REST Amazon S3.
- Tâche
-
Une tâche est l’unité de travail de base de S3 Batch Operations. Une tâche contient toutes les informations nécessaires à l’exécution de l’opération spécifiée pour les objets répertoriés dans le manifeste. Une fois que vous avez fourni ces informations et que vous demandez le lancement de la tâche, celle-ci effectue l’opération pour chaque objet présent dans le manifeste.
- Opération
-
L’opération est le type d’action d’API, telle que la copie d’objets, que vous souhaitez faire exécuter par la tâche Batch Operations. Chaque tâche effectue un seul type d’opération sur tous les objets spécifiés dans le manifeste.
- Sous-tâche
-
Une sous-tâche est l’unité d’exécution d’une tâche. Une sous-tâche représente un appel unique à une opération d’Amazon S3 ou d’API AWS Lambda en vue d’effectuer l’opération de la tâche sur un objet unique. Pendant toute la durée de vie d’une tâche, S3 Batch Operations crée une seule tâche pour chaque objet spécifié dans le manifeste.
Fonctionnement d’une tâche S3 Batch Operations
Une tâche est l’unité de travail de base de S3 Batch Operations. Une tâche contient toutes les informations nécessaires à l’exécution de l’opération spécifiée pour une liste d’objets. Pour créer une tâche, vous fournissez à S3 Batch Operations une liste d’objets et vous spécifiez l’action à exécuter sur ces objets.
Pour plus d’informations sur les opérations prises en charge par S3 Batch Operations, consultez Opérations prises en charge par S3 Batch Operations.
Une tâche par lot exécute une opération spécifiée sur chaque objet inclus dans son manifeste. Un manifeste répertorie les objets que vous souhaitez traiter par le biais d’une tâche par lot et il est stocké sous forme d’objet dans un compartiment. Vous pouvez utiliser un rapport Catalogage et analyse de vos données avec S3 Inventory au format comma-separated values (CSV) comme manifeste, ce qui facilite la création de grandes listes d’objets situés dans un compartiment. Vous pouvez également spécifier un manifeste dans un format CSV simple qui vous permet d’effectuer des opérations par lot sur une liste personnalisée d’objets stockés dans un compartiment unique.
Une fois que vous avez créé une tâche, Amazon S3 traite la liste d’objets du manifeste et exécute l’opération spécifiée sur chaque objet. Pendant qu’une tâche est en cours, vous pouvez surveiller sa progression par programme ou via la console Amazon S3. Vous pouvez également configurer une tâche pour générer un rapport de fin lorsque celle-ci se termine. Le rapport de fin décrit les résultats de chaque sous-tâche. Pour plus d’informations sur la surveillance des tâches, consultez Gestion des tâches S3 Batch Operations.
Des coûts sont associés à S3 Batch Operations. La création de tâches Batch Operations vous est facturée, y compris les tâches annulées avant leur fin. Pour plus d’informations, consultez Tarification Amazon S3
Par défaut, les tâches S3 Batch Operations peuvent traiter jusqu’à 4 milliards d’objets pour toutes les opérations. Plus précisément, les tâches Copie, Balisage d’objet, Verrouillage d’objet, invoquant une fonction AWS Lambda et Réplication par lot peuvent prendre en charge jusqu’à 20 milliards d’objets. Les tâches Réplication par lot actives sont limitées à 6 par compte AWS. Pour commencer à créer une tâche Batch Operations, consultez Création d’une tâche S3 Batch Operations.
Tutoriel de S3 Batch Operations
Le didacticiel suivant présente les procédures complètes des tâches de certaines tâches Batch Operations.