Cette page explique comment créer, afficher, lister, annuler et supprimer des jobs d' opérations par lot de stockage. Il explique également comment utiliser Cloud Audit Logs avec les jobs d'opérations par lot de stockage.
Avant de commencer
Pour créer et gérer des tâches d'opérations par lot de stockage, suivez les étapes décrites dans les sections suivantes.
Configurer Storage Intelligence
Pour créer et gérer des jobs d'opérations par lot de stockage, configurez Storage Intelligence sur le bucket dans lequel vous souhaitez exécuter le job.
Configurer Google Cloud CLI
Vous devez utiliser la version 516.0.0 ou ultérieure de Google Cloud CLI.
Définir le projet par défaut
Définissez le projet dans lequel vous souhaitez créer la tâche d'opérations par lot de stockage.
gcloud config set project PROJECT_ID
Où PROJECT_ID correspond à l'ID de votre projet.
Activer l'API
Activez l'API Storage Batch Operations.
gcloud services enable storagebatchoperations.googleapis.com
Créer un fichier manifeste
Pour utiliser un fichier manifeste pour la sélection d'objets, créez-en un.
Créer une tâche d'opérations par lot de stockage
Cette section explique comment créer une tâche d'opérations par lot de stockage.
Ligne de commande
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Dans votre environnement de développement, exécutez la commande
gcloud storage batch-operations jobs create
.gcloud storage batch-operations jobs create JOB_NAME --bucket=BUCKET_NAME OBJECT_SELECTION_FLAG JOB_TYPE_FLAG
Où :
JOB_NAME
est le nom de la tâche d'opérations par lot de stockage.BUCKET_NAME
correspond au nom du bucket contenant un ou plusieurs objets que vous souhaitez traiter.OBJECT_SELECTION_FLAG
est l'un des indicateurs suivants:--included-object-prefixes
: spécifiez un ou plusieurs préfixes d'objet. Exemple :- Pour faire correspondre un seul préfixe, utilisez:
--included-object-prefixes='prefix1'
. - Pour faire correspondre plusieurs préfixes, utilisez une liste de préfixes séparés par une virgule:
--included-object-prefixes='prefix1,prefix2'
. - Pour inclure tous les objets, utilisez un préfixe vide:
--included-object-prefixes=''
.
- Pour faire correspondre un seul préfixe, utilisez:
--manifest-location
: spécifiez l'emplacement du fichier manifeste. Par exemple,gs://bucket_name/path/object_name.csv
.
JOB_TYPE_FLAG
correspond à l'un des indicateurs suivants, en fonction du type de tâche.--delete-object
: supprimez un ou plusieurs objets.--put-metadata
: mettez à jour les métadonnées de l'objet. Les métadonnées d'objet sont stockées sous forme de paires clé-valeur. Spécifiez la paire clé-valeur pour les métadonnées que vous souhaitez modifier. Vous pouvez spécifier une ou plusieurs paires clé-valeur sous forme de liste.--rewrite-object
: mettez à jour les clés de chiffrement gérées par le client d'un ou de plusieurs objets.--put-object-event-based-hold
: activez les rétentions d'objets basées sur les événements.--no-put-object-event-based-hold
: désactivez les rétentions d'objets basées sur les événements.--put-object-temporary-hold
: active les rétentions d'objets temporaires.--no-put-object-temporary-hold
: désactive les rétentions d'objets temporaires.
API REST
API JSON
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.Créez un fichier JSON contenant les paramètres de la tâche d'opérations par lot de stockage. Les paramètres les plus courants sont les suivants :
{ "Description": "JOB_DESCRIPTION", "BucketList": { "Buckets": [ { "Bucket": "BUCKET_NAME", "Manifest": { "manifest_location": "MANIFEST_LOCATION" } "PrefixList": { "include_object_prefixes": "OBJECT_PREFIXES" } } ] }, "DeleteObject": { "permanent_object_deletion_enabled": OBJECT_DELETION_VALUE } "RewriteObject": { "kms_key":"KMS_KEY_VALUE" } "PutMetadata": { METADATA_KEY= METADATA_VALUE, ..., } "PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE } }
Où :
JOB_NAME
est le nom de la tâche d'opérations par lot de stockage.JOB_DESCRIPTION
est la description de la tâche d'opérations par lot de stockage.BUCKET_NAME
correspond au nom du bucket contenant un ou plusieurs objets que vous souhaitez traiter.Pour spécifier les objets que vous souhaitez traiter, utilisez l'un des attributs suivants dans le fichier JSON:
MANIFEST_LOCATION
correspond à l'emplacement du fichier manifeste. Par exemple,gs://bucket_name/path/object_name.csv
.OBJECT_PREFIXES
est la liste séparée par une virgule contenant un ou plusieurs préfixes d'objet. Pour faire correspondre tous les objets, utilisez une liste vide.
Selon la tâche que vous souhaitez traiter, spécifiez l'une des options suivantes:
Supprimez des objets:
"DeleteObject": { "permanent_object_deletion_enabled": OBJECT_DELETION_VALUE }
Où
OBJECT_DELETION_VALUE
estTRUE
pour supprimer des objets.Mettez à jour la clé de chiffrement gérée par le client pour les objets:
"RewriteObject": { "kms_key": KMS_KEY_VALUE }
Où
KMS_KEY_VALUE
correspond à la valeur de la clé KMS de l'objet que vous souhaitez mettre à jour.Mettez à jour les métadonnées d'objet:
"PutMetadata": { METADATA_KEY= METADATA_VALUE, ..., }
Où
METADATA_VALUE
est la valeur de clé des métadonnées de l'objet. Vous pouvez spécifier une ou plusieurs paires clé-valeur sous forme de liste.Mettez à jour les préservations d'objets à titre conservatoire:
"PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE }
Où :
TEMPORARY_HOLD_VALUE
permet d'activer ou de désactiver la conservation temporaire des objets. La valeur1
active la mise en attente, et la valeur2
la désactive.EVENT_BASED_HOLD_VALUE
permet d'activer ou de désactiver la préservation à titre conservatoire basée sur des événements. La valeur1
active la mise en attente, et la valeur2
la désactive.
Exécutez
cURL
pour appeler l'API JSON avec une requête d'opérations par lot de stockagePOST
:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storagebatchoperations.googleapis.com/v1/project=PROJECT_ID/locations/global/jobs?job_id=JOB_ID"
Où :
JSON_FILE_NAME
correspond au nom du fichier JSON.PROJECT_ID
correspond à l'ID ou au numéro du projet. Exemple :my-project
JOB_ID
est le nom de la tâche d'opérations par lot de stockage.
Obtenir les détails des tâches d'opérations par lot de stockage
Cette section explique comment obtenir les détails des tâches d'opérations par lot de stockage.
Ligne de commande
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Dans votre environnement de développement, exécutez la commande
gcloud storage batch-operations jobs describe
.gcloud storage batch-operations jobs describe JOB_ID
Où :
JOB_ID
est le nom de la tâche d'opérations par lot de stockage.
API REST
API JSON
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API JSON avec une requête d'opérations par lot de stockageGET
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs?JOB_ID"
Où :
PROJECT_ID
correspond à l'ID ou au numéro du projet. Exemple :my-project
JOB_ID
est le nom de la tâche d'opérations par lot de stockage.
Lister les tâches d'opérations par lot de stockage
Cette section explique comment lister les tâches d'opérations par lot de stockage dans un projet.
Ligne de commande
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Dans votre environnement de développement, exécutez la commande
gcloud storage batch-operations jobs list
.gcloud storage batch-operations jobs list
API REST
API JSON
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API JSON avec une requêteLIST
d'opérations de traitement par lot de stockage:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs"
Où :
PROJECT_ID
correspond à l'ID ou au numéro du projet. Exemple :my-project
Annuler une tâche d'opérations par lot de stockage
Cette section explique comment annuler une tâche d'opérations par lot de stockage dans un projet.
Ligne de commande
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Dans votre environnement de développement, exécutez la commande
gcloud storage batch-operations jobs cancel
.gcloud storage batch-operations jobs cancel JOB_ID
Où :
JOB_ID
est le nom de la tâche d'opérations par lot de stockage.
API REST
API JSON
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API JSON avec une requêteCANCEL
d'opérations de traitement par lot de stockage:curl -X CANCEL \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
Où :
PROJECT_ID
correspond à l'ID ou au numéro du projet. Exemple :my-project
JOB_ID
est le nom de la tâche d'opérations par lot de stockage.
Supprimer un job d'opérations par lot de stockage
Cette section explique comment supprimer une tâche d'opérations par lot de stockage.
Ligne de commande
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Dans votre environnement de développement, exécutez la commande
gcloud storage batch-operations jobs delete
.gcloud storage batch-operations jobs delete JOB_ID
Où :
JOB_ID
est le nom de la tâche d'opérations par lot de stockage.
API REST
API JSON
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API JSON avec une requêteDELETE
d'opérations de traitement par lot de stockage:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
Où :
PROJECT_ID
correspond à l'ID ou au numéro du projet. Exemple :my-project
JOB_ID
est le nom de la tâche d'opérations par lot de stockage.
Créer une tâche d'opérations par lot de stockage à l'aide d'ensembles de données Storage Insights
Pour créer une tâche d'opérations par lot de stockage à l'aide de ensembles de données Storage Insights, suivez la procédure décrite dans les sections suivantes.
Créer un fichier manifeste à l'aide d'ensembles de données Storage Insights
Vous pouvez créer le fichier manifeste de votre tâche d'opérations par lot de stockage en extrayant des données de BigQuery. Pour ce faire, vous devez interroger l'ensemble de données associé, exporter les données obtenues au format CSV et les enregistrer dans un bucket Cloud Storage. La tâche d'opérations par lot de stockage peut ensuite utiliser ce fichier CSV comme fichier manifeste.
L'exécution de la requête SQL suivante dans BigQuery sur une vue d'ensemble de données Storage Insights permet de récupérer les objets de plus de 1 ko nommés Temp_Training
:
EXPORT DATA OPTIONS( uri=`URI`, format=`CSV`, overwrite=OVERWRITE_VALUE, field_delimiter=',') AS SELECT bucket, name, generation FROM DATASET_VIEW_NAME WHERE bucket = BUCKET_NAME AND name LIKE (`Temp_Training%`) AND size > 1024 * 1024 AND snapshotTime = SNAPSHOT_TIME
Où :
URI
correspond à l'URI du bucket contenant le fichier manifeste. Exemple :gs://bucket_name/path_to_csv_file/*.csv
Lorsque vous utilisez l'opérateur générique*.csv
, BigQuery exporte le résultat dans plusieurs fichiers CSV.OVERWRITE_VALUE
est une valeur booléenne. Si la valeur esttrue
, l'opération d'exportation écrase les fichiers existants à l'emplacement spécifié.DATASET_VIEW_NAME
est le nom complet de la vue de l'ensemble de données Storage Insights au formatPROJECT_ID.DATASET_ID.VIEW_NAME
. Pour trouver le nom de votre ensemble de données, affichez l'ensemble de données associé.Où :
PROJECT_ID
correspond à l'ID ou au numéro du projet. Exemple :my-project
DATASET_ID
est le nom de l'ensemble de données. Exemple :objects-deletion-dataset
VIEW_NAME
est le nom de la vue de l'ensemble de données. Exemple :bucket_attributes_view
BUCKET_NAME
est le nom du bucket. Exemple :my-bucket
SNAPSHOT_TIME
correspond à l'heure de l'instantané de la vue de l'ensemble de données Storage Insights. Exemple :2024-09-10T00:00:00Z
Créer une tâche d'opérations par lot de stockage
Pour créer une tâche d'opérations par lot de stockage afin de traiter les objets contenus dans le fichier manifeste, procédez comme suit:
Ligne de commande
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Dans votre environnement de développement, exécutez la commande
gcloud storage batch-operations jobs create
:gcloud storage batch-operations jobs create \ JOB_ID \ --bucket=SOURCE_BUCKET_NAME \ --manifest-location=URI \ --JOB_TYPE_FLAG
Où :
JOB_ID
est le nom de la tâche d'opérations par lot de stockage.SOURCE_BUCKET_NAME
est le bucket contenant un ou plusieurs objets que vous souhaitez traiter. Exemple :my-bucket
URI
correspond à l'URI du bucket contenant le fichier manifeste. Exemple :gs://bucket_name/path_to_csv_file/*.csv
Lorsque vous utilisez l'opérateur générique*.csv
, BigQuery exporte le résultat dans plusieurs fichiers CSV.JOB_TYPE_FLAG
correspond à l'un des indicateurs suivants, en fonction du type de tâche.--delete-object
: supprimez un ou plusieurs objets.--put-metadata
: mettez à jour les métadonnées de l'objet. Les métadonnées d'objet sont stockées sous forme de paires clé-valeur. Spécifiez la paire clé-valeur pour les métadonnées que vous souhaitez modifier. Vous pouvez spécifier une ou plusieurs paires clé-valeur sous forme de liste.--rewrite-object
: mettez à jour les clés de chiffrement gérées par le client d'un ou de plusieurs objets.--put-object-event-based-hold
: activez les rétentions d'objets basées sur les événements.--no-put-object-event-based-hold
: désactivez les rétentions d'objets basées sur les événements.--put-object-temporary-hold
: active les rétentions d'objets temporaires.--no-put-object-temporary-hold
: désactive les rétentions d'objets temporaires.
Utiliser Cloud Audit Logs pour les tâches d'opérations par lot de stockage
Les jobs d'opérations par lot de stockage enregistrent les transformations sur les objets Cloud Storage dans les journaux d'audit Cloud de Cloud Storage. Vous pouvez utiliser Cloud Audit Logging avec Cloud Storage pour suivre les transformations d'objets effectuées par les tâches d'opérations par lot de stockage. Pour savoir comment activer les journaux d'audit, consultez la section Activer les journaux d'audit. Dans l'entrée du journal d'audit, le champ de métadonnées callUserAgent
avec la valeur StorageBatchOperations
indique une transformation des opérations de traitement par lot de stockage.
Étapes suivantes
- En savoir plus sur les ensembles de données Storage Insights