Cette page explique comment créer, afficher, lister, annuler et supprimer des jobs d' opérations de stockage par lot. Il explique également comment utiliser Cloud Audit Logs avec les jobs d'opérations de stockage par lot.
Avant de commencer
Pour créer et gérer des jobs d'opérations par lot Storage, suivez les étapes décrites dans les sections suivantes.
Configurer Storage Intelligence
Pour créer et gérer des jobs d'opérations Storage par lot, configurez Storage Intelligence sur le bucket dans lequel vous souhaitez exécuter le job.
Configurer la 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 le job d'opérations Storage par lot.
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 un fichier manifeste.
Créer un job d'opérations Storage par lot
Cette section explique comment créer un job d'opérations de stockage par lot.
Pour obtenir les autorisations nécessaires pour créer un job d'opérations par lot Storage, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Storage (roles/storage.admin) sur le projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient les autorisations requises pour créer un job d'opérations par lot de stockage. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer un job d'opérations par lot de stockage :
-
Créez un job d'opérations de stockage par lot :
storagebatchoperations.jobs.create -
Exécutez le job d'opérations Storage par lot pour supprimer les objets :
storage.objects.delete -
Exécutez le job d'opération par lot de mise à jour des métadonnées d'objet, de la clé de chiffrement gérée par le client, du contexte d'objet ou de l'obligation de conservation d'objet :
storage.objects.update
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Ligne de commande
-
Dans la console Google Cloud , activez Cloud Shell.
En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
(Facultatif) Exécutez une tâche de simulation. Avant d'exécuter un job, nous vous recommandons de l'exécuter en mode de simulation pour vérifier les critères de sélection des objets et rechercher les éventuelles erreurs. L'exécution à blanc ne modifie aucun objet.
Dans votre environnement de développement, exécutez la commande
gcloud storage batch-operations jobs createavec l'option--dry-run:gcloud storage batch-operations jobs create DRY_RUN_JOB_NAME\ --bucket=BUCKET_NAME OBJECT_SELECTION_FLAG JOB_TYPE_FLAG\ --dry-run
L'exécution à blanc utilise les mêmes paramètres que le job réel. Pour en savoir plus, consultez les descriptions des paramètres.
Pour afficher les résultats du dry run, consultez Obtenir des informations sur un job d'opérations Storage par lot.
Une fois la simulation réussie, 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
Les paramètres sont les suivants :
DRY_RUN_JOB_NAMEest le nom du job d'exécution à blanc des opérations Storage par lot.JOB_NAMEest le nom du job d'opérations Storage par lot.BUCKET_NAMEcorrespond au nom du bucket contenant un ou plusieurs objets que vous souhaitez traiter.OBJECT_SELECTION_FLAGcorrespond à l'un des indicateurs suivants que vous devez spécifier :--included-object-prefixes: spécifiez un ou plusieurs préfixes d'objet. Exemple :- Pour ne faire correspondre qu'un 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 ne faire correspondre qu'un préfixe, utilisez :
--manifest-location: spécifiez l'emplacement du fichier manifeste. Par exemple,gs://bucket_name/path/object_name.csv.
JOB_TYPE_FLAGcorrespond à l'un des flags suivants que vous devez spécifier, en fonction du type de job.--delete-object: supprime un ou plusieurs objets.Si la gestion des versions d'objets est activée pour le bucket, les objets actifs passent à l'état obsolète et les objets obsolètes sont ignorés.
Si la gestion des versions d'objets est désactivée pour le bucket, l'opération de suppression supprime définitivement les objets et ignore les objets obsolètes.
--enable-permanent-object-deletion: supprime définitivement les objets. Utilisez cet indicateur conjointement avec l'indicateur--delete-objectpour supprimer définitivement les objets actifs et archivés d'un bucket, quelle que soit la configuration de la gestion des versions d'objets du bucket.--rewrite-object: mettez à jour les clés de chiffrement gérées par le client pour un ou plusieurs objets.--put-object-event-based-hold: activez les retenues d'objet basées sur des événements.--no-put-object-event-based-hold: désactivez les retenues d'objets basées sur des événements.--put-object-temporary-hold: active les retenues d'objets temporaires.--no-put-object-temporary-hold: désactive les retenues d'objets temporaires.L'exemple suivant montre comment créer un job pour mettre à jour les métadonnées
Content-Languagesurenpour tous les objets listés dansmanifest.csv.gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --put-metadata=Content-Language=en
--put-metadata: mettez à jour les métadonnées de l'objet. Spécifiez la paire clé/valeur pour les métadonnées de l'objet que vous souhaitez modifier. Vous pouvez spécifier une ou plusieurs paires clé/valeur sous forme de liste. Vous pouvez également définir des configurations de conservation des objets à l'aide de l'indicateur--put-metadata. Pour ce faire, spécifiez les paramètres de conservation à l'aide des champsRetain-UntiletRetention-Mode. Par exemple,gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --put-metadata=Retain-Until=RETAIN_UNTIL_TIME, Retention-Mode=RETENTION_MODE
Où :
RETAIN_UNTIL_TIMEcorrespond à la date et à l'heure, au format RFC 3339, jusqu'à laquelle l'objet est conservé. Exemple :2025-10-09T10:30:00Z. Pour définir la configuration de conservation d'un objet, vous devez activer la conservation sur le bucket qui contient l'objet.RETENTION_MODEest le mode de conservation (UnlockedouLocked).Lorsque vous envoyez une demande de mise à jour des champs
RETENTION_MODEetRETAIN_UNTIL_TIME, tenez compte des points suivants :- Pour mettre à jour la configuration de conservation des objets, vous devez fournir des valeurs non vides pour les champs
RETENTION_MODEetRETAIN_UNTIL_TIME. Si vous n'en définissez qu'un seul, une erreurINVALID_ARGUMENTse produit. - Vous pouvez étendre la valeur
RETAIN_UNTIL_TIMEpour les objets en modeUnlockedouLocked. - La conservation des objets doit être en mode
Unlockedsi vous souhaitez effectuer les opérations suivantes :- Réduisez la valeur
RETAIN_UNTIL_TIME. - Supprimez la configuration de la conservation. Pour supprimer la configuration, vous devez fournir des valeurs vides pour les champs
RETENTION_MODEetRETAIN_UNTIL_TIME.
- Réduisez la valeur
- Si vous omettez les champs
RETENTION_MODEetRETAIN_UNTIL_TIME, la configuration de la période de conservation reste inchangée.
- Pour mettre à jour la configuration de conservation des objets, vous devez fournir des valeurs non vides pour les champs
--clear-all-object-custom-contexts: supprime tous les contextes d'objet existants.L'exemple suivant montre comment créer un job pour effacer tous les contextes d'objet pour les objets listés dans
manifest.csv:gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --clear-all-object-custom-contexts
--clear-object-custom-contexts: supprime les contextes avec des clés spécifiques. Vous pouvez également mettre à jour des contextes spécifiques tout en supprimant des clés en utilisant à la fois l'option--clear-object-custom-contextset l'une des options suivantes :--update-object-custom-contexts: fournissez une carte de paires clé/valeur.L'exemple suivant montre comment créer un job pour supprimer le contexte avec la clé
temp-idet mettre à jour ou insérer le contexte avec les clésproject-idetcost-centerpour tous les objets listés dansmanifest.csv:gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --clear-object-custom-contexts=temp-id \ --update-object-custom-contexts=project-id=project-A,cost-center=engineering
--update-object-custom-contexts-file: indiquez le chemin d'accès à un fichier JSON ou YAML contenant des paires clé/valeur.L'exemple suivant montre comment créer un job pour traiter les objets définis dans
manifest.csv. Voici ce que vous allez apprendre avec ce job :Supprime tous les contextes avec la clé
temp-id.Met à jour les contextes existants avec les clés
project-idetcost-centerdéfinies dans le fichier/tmp/context_updates.json.
gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --clear-object-custom-contexts=temp-id \ --update-object-custom-contexts-file=/tmp/context_updates.json
Où
/tmp/context_updates.jsoncontient les contextes d'objet suivants :{ "project-id": {"value": "project-A"}, "cost-center": {"value": "engineering"} }
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
PHP
Pour en savoir plus, consultez la documentation de référence des API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
API REST
API JSON
Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization.Créez un fichier JSON contenant les paramètres du job d'opérations par lot Storage. 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", ..., "objectRetention": { "retainUntilTime": "RETAIN_UNTIL_TIME", "mode": "RETENTION_MODE" } } "PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE }, "updateObjectCustomContext": { "customContextUpdates": { "updates": { "CONTEXT_KEY": { "value": "CONTEXT_VALUE" } }, "keysToClear": ["CONTEXT_KEY_TO_CLEAR"] }, "clearAll": CLEAR_ALL_VALUE }, "dryRun": DRY_RUN_VALUE }
Où :
JOB_NAMEest le nom du job d'opérations Storage par lot.JOB_DESCRIPTIONest la description du job d'opérations de stockage par lot.BUCKET_NAMEcorrespond 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_LOCATIONest l'emplacement du fichier manifeste. Par exemple,gs://bucket_name/path/object_name.csv.OBJECT_PREFIXESest une liste séparée par des virgules contenant un ou plusieurs préfixes d'objet. Pour faire correspondre tous les objets, utilisez une liste vide.
En fonction du job que vous souhaitez traiter, spécifiez l'une des options suivantes :
Supprimer des objets :
"DeleteObject": { "permanent_object_deletion_enabled": OBJECT_DELETION_VALUE }
Où
OBJECT_DELETION_VALUEestTRUEpour supprimer des objets.Mettez à jour la clé de chiffrement gérée par le client pour les objets :
"RewriteObject": { "kms_key": KMS_KEY_VALUE }
KMS_KEY_VALUEcorrespond à la valeur de la clé KMS de l'objet que vous souhaitez mettre à jour.Mettez à jour les métadonnées de l'objet :
"PutMetadata": { "METADATA_KEY": "METADATA_VALUE", ..., "objectRetention": { "retainUntilTime": "RETAIN_UNTIL_TIME", "mode": "RETENTION_MODE" } }
Où :
METADATA_KEY/VALUEest la paire clé-valeur des métadonnées de l'objet. Vous pouvez spécifier une ou plusieurs paires.RETAIN_UNTIL_TIMEcorrespond à la date et à l'heure, au format RFC 3339, jusqu'à laquelle l'objet est conservé. Par exemple,2025-10-09T10:30:00Z. Pour définir la configuration de conservation d'un objet, vous devez activer la conservation sur le bucket qui contient l'objet.RETENTION_MODEest le mode de conservation (UnlockedouLocked).Lorsque vous envoyez une demande de mise à jour des champs
RETENTION_MODEetRETAIN_UNTIL_TIME, tenez compte des points suivants :- Pour mettre à jour la configuration de conservation des objets, vous devez fournir des valeurs non vides pour les champs
RETENTION_MODEetRETAIN_UNTIL_TIME. Si vous n'en définissez qu'un seul, une erreurINVALID_ARGUMENTse produit. - Vous pouvez étendre la valeur
RETAIN_UNTIL_TIMEpour les objets en modeUnlockedouLocked. - La conservation des objets doit être en mode
Unlockedsi vous souhaitez effectuer les opérations suivantes :- Réduisez la valeur
RETAIN_UNTIL_TIME. - Supprimez la configuration de la conservation. Pour supprimer la configuration, vous devez fournir des valeurs vides pour les champs
RETENTION_MODEetRETAIN_UNTIL_TIME.
- Réduisez la valeur
- Si vous omettez les champs
RETENTION_MODEetRETAIN_UNTIL_TIME, la configuration de la période de conservation reste inchangée.
- Pour mettre à jour la configuration de conservation des objets, vous devez fournir des valeurs non vides pour les champs
Mettez à jour Préservations d'objets à titre conservatoire :
"PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE }
Où :
TEMPORARY_HOLD_VALUEpermet d'activer ou de désactiver la conservation temporaire de l'objet. La valeur1active la retenue, tandis que la valeur2la désactive.EVENT_BASED_HOLD_VALUEpermet d'activer ou de désactiver la préservation d'objet basée sur des événements. La valeur1active la retenue, tandis que la valeur2la désactive.
Mettez à jour les contextes d'objet :
"updateObjectCustomContext": { "customContextUpdates": { "updates": { "CONTEXT_KEY": { "value": "CONTEXT_VALUE" } }, "keysToClear": ["CONTEXT_KEY_TO_CLEAR"] }, "clearAll": CLEAR_ALL_VALUE }
Où :
CONTEXT_KEYcorrespond à la clé de contexte de l'objet à insérer ou à mettre à jour.CONTEXT_VALUEcorrespond à la valeur du contexte d'objet pour la clé.CONTEXT_KEY_TO_CLEARest la clé à supprimer.CLEAR_ALL_VALUEest défini surtruepour supprimer tous les contextes d'objet existants.
DRY_RUN_VALUEest une valeur booléenne facultative. Définissez la valeur surtruepour exécuter le job en mode de simulation. La valeur par défaut estfalse.
Exécutez
cURLpour appeler l'API JSON avec une requêtePOSTde job d'opérations par lot Storage :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/projects/PROJECT_ID/locations/global/jobs?job_id=JOB_NAME"
Où :
JSON_FILE_NAMEcorrespond au nom du fichier JSON.PROJECT_IDcorrespond à l'ID ou au numéro du projet. Exemple :my-projectJOB_NAMEest le nom du job d'opérations Storage par lot.
Obtenir des informations sur un job d'opérations Storage par lot
Cette section explique comment obtenir des informations sur un job d'opérations Storage par lot.
Pour obtenir les autorisations nécessaires pour afficher un job d'opérations par lot Storage, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Storage (roles/storage.admin) sur le projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient les autorisations requises pour afficher un job d'opérations par lot de stockage. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour afficher un job d'opérations de stockage par lot :
-
Afficher un job d'opérations Storage par lot :
storagebatchoperations.jobs.get,storagebatchoperations.operations.get
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Ligne de commande
-
Dans la console Google Cloud , activez Cloud Shell.
En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
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_IDest le nom du job d'opérations Storage par lot.Lorsque vous effectuez un test à blanc d'un job, le résultat inclut les champs suivants :
totalObjectCount: affiche le nombre d'objets correspondant à vos critères de sélection.errorSummaries: liste les erreurs détectées lors de la simulation, telles que les problèmes d'autorisation ou les configurations non valides.totalBytesFound: si vous utilisez des préfixes d'objet pour la sélection d'objets, le job indique également la taille totale des objets qui seront concernés.
Si l'opération réussit, la réponse pour le job d'essai à blanc se présente comme suit :
bucketList: buckets: - bucket: my-bucket manifest: manifestLocation: gs://my-bucket/manifest.csv completeTime: '2025-10-27T23:56:32Z' counters: totalObjectCount: '4' createTime: '2025-10-27T23:56:22.243528568Z' dryRun: true name: projects/my-project/locations/global/jobs/my-job putMetadata: contentLanguage: en state: SUCCEEDEDUne réponse de job réussie omet le champ
dryRunet renvoie les métriques suivantes dans le champcounters:- Nombre total d'objets trouvés.
- Nombre total d'octets trouvés lors de l'utilisation de préfixes d'objet.
- Transformations d'objets réussies.
- Transformations d'objets ayant échoué, le cas échéant.
- Contextes d'objet créés, le cas échéant.
- Les contextes d'objet sont supprimés, le cas échéant.
- Les contextes d'objet ont été mis à jour, le cas échéant. Ce compteur suit les modifications apportées aux clés de contexte existantes.
La réponse pour une exécution de job réelle ressemble à l'exemple suivant :
bucketList: buckets: - bucket: my-bucket manifest: manifestLocation: gs://my-bucket/manifest.csv completeTime: '2025-10-31T20:19:42.357826655Z' counters: succeededObjectCount: '4' totalObjectCount: '4' createTime: '2025-10-31T20:19:22.016517077Z' name: projects/my-project/locations/global/jobs/my-job putMetadata: contentLanguage: en state: SUCCEEDED
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
PHP
Pour en savoir plus, consultez la documentation de référence des API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
API REST
API JSON
Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization.Utilisez
cURLpour appeler l'API JSON avec une requête de tâche d'opérations par lot StorageGET: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_IDcorrespond à l'ID ou au numéro du projet. Exemple :my-projectJOB_IDest le nom du job d'opérations Storage par lot.
Lorsque vous effectuez un test à blanc d'un job, le résultat inclut les champs suivants :
totalObjectCount: affiche le nombre d'objets correspondant à vos critères de sélection.errorSummaries: liste les erreurs détectées lors de la simulation, telles que les problèmes d'autorisation ou les configurations non valides.totalBytesFound: si vous utilisez des préfixes d'objet pour la sélection d'objets, le job indique également la taille totale des objets qui seront concernés.
Si l'opération réussit, la réponse pour l'exécution à blanc se présente comme suit :
{ "name": "projects/my-project/locations/global/jobs/my-job", "description": "dry-run-job", "deleteObject": { "permanent_object_deletion_enabled": true }, "createTime": "2025-10-28T00:26:53.900882459Z", "completeTime": "2025-10-28T00:27:04.101663275Z", "counters": { "totalObjectCount": "5", "totalBytesFound": "203" }, "state": "SUCCEEDED", "bucketList": { "buckets": [ { "bucket": "my-bucket", "prefixList": { "includedObjectPrefixes": [ "" ] } } ] }, "dryRun": true }
Une réponse de job réussie omet le champ dryRun et renvoie les métriques suivantes dans le champ counters :
- Nombre total d'objets trouvés.
- Nombre total d'octets trouvés lors de l'utilisation de préfixes d'objet.
- Transformations d'objets réussies.
- Transformations d'objets ayant échoué, le cas échéant.
- Contextes d'objet créés, le cas échéant.
- Les contextes d'objet sont supprimés, le cas échéant.
Les contextes d'objet ont été mis à jour, le cas échéant. Ce compteur suit les modifications apportées aux clés de contexte existantes.
La réponse pour une exécution de job réelle ressemble à l'exemple suivant :
{ "name": "my-job", "description": "my-delete-objects-job", "deleteObject": { "permanent_object_deletion_enabled": true }, "createTime": "2025-10-28T00:26:53.900882459Z", "completeTime": "2025-10-28T00:27:04.101663275Z", "counters": { "succeededObjectCount: "5" "totalObjectCount": "5", "totalBytesFound": "203" }, "state": "SUCCEEDED", "bucketList": { "buckets": [ { "bucket": "my-bucket", "prefixList": { "includedObjectPrefixes": [ "" ] } } ] } }
Recenser les jobs d'opérations Storage par lot
Cette section explique comment lister les jobs d'opérations Storage par lot dans un projet.
Pour obtenir les autorisations nécessaires pour lister les jobs d'opérations par lot Storage, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Storage (roles/storage.admin) sur le projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient les autorisations requises pour lister les jobs d'opérations par lot de stockage. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour lister les jobs d'opérations Storage par lot :
-
Lister les jobs d'opérations Storage par lot :
storagebatchoperations.jobs.list,storagebatchoperations.operations.list
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Ligne de commande
-
Dans la console Google Cloud , activez Cloud Shell.
En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
Dans votre environnement de développement, exécutez la commande
gcloud storage batch-operations jobs list.gcloud storage batch-operations jobs list
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
PHP
Pour en savoir plus, consultez la documentation de référence des API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
API REST
API JSON
Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization.Utilisez
cURLpour appeler l'API JSON avec une requêteLISTstorage batch operations jobs :curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs"
Où :
PROJECT_IDcorrespond à l'ID ou au numéro du projet. Exemple :my-project
Annuler un job d'opérations Storage par lot
Cette section explique comment annuler une tâche d'opérations par lot de stockage dans un projet.
Pour obtenir les autorisations nécessaires pour annuler un job d'opérations par lot de stockage, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Storage (roles/storage.admin) sur le projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient les autorisations requises pour annuler un job d'opérations par lot de stockage. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour annuler un job d'opérations par lot de stockage :
-
Annulez un job d'opérations Storage par lot :
storagebatchoperations.jobs.cancel,storagebatchoperations.operations.cancel
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Ligne de commande
-
Dans la console Google Cloud , activez Cloud Shell.
En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
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_IDest le nom du job d'opérations Storage par lot.
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
PHP
Pour en savoir plus, consultez la documentation de référence des API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
API REST
API JSON
Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization.Utilisez
cURLpour appeler l'API JSON avec une requête de tâche d'opérations par lot de stockageCANCEL: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_IDcorrespond à l'ID ou au numéro du projet. Exemple :my-projectJOB_IDest le nom du job d'opérations Storage par lot.
Job de suppression des opérations Storage par lot
Cette section explique comment supprimer un job d'opérations de stockage par lot.
Pour obtenir les autorisations nécessaires pour supprimer un job d'opérations par lot Storage, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Storage (roles/storage.admin) sur le projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient les autorisations nécessaires pour supprimer un job d'opérations par lot de stockage. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour supprimer un job d'opérations par lot de stockage :
-
Supprimer un job d'opérations Storage par lot :
storagebatchoperations.jobs.delete
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Ligne de commande
-
Dans la console Google Cloud , activez Cloud Shell.
En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
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_IDest le nom du job d'opérations Storage par lot.
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
PHP
Pour en savoir plus, consultez la documentation de référence des API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
API REST
API JSON
Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization.Utilisez
cURLpour appeler l'API JSON avec une requête de tâche d'opérations par lot de stockageDELETE: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_IDcorrespond à l'ID ou au numéro du projet. Exemple :my-projectJOB_IDest le nom du job d'opérations Storage par lot.
Créer un job d'opérations Storage par lot à l'aide d'ensembles de données Storage Insights
Pour créer un job d'opérations par lot Storage à l'aide d'ensembles de données Storage Insights, suivez la procédure décrite dans les sections suivantes.
Pour obtenir les autorisations nécessaires pour créer un job d'opérations par lot Storage, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Storage (roles/storage.admin) sur le projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient les autorisations requises pour créer un job d'opérations par lot de stockage. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer un job d'opérations par lot de stockage :
-
Créez un job d'opérations de stockage par lot :
storagebatchoperations.jobs.create -
Exécutez le job d'opérations Storage par lot pour supprimer les objets :
storage.objects.delete -
Exécutez le job d'opération par lot de stockage "Mettre à jour les métadonnées de l'objet", "Mettre à jour la clé de chiffrement gérée par le client de l'objet", "Mettre à jour le contexte de l'objet" ou "Mettre à jour l'obligation de conservation de l'objet" :
storage.objects.update
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer un fichier manifeste à l'aide des ensembles de données Storage Insights
Vous pouvez créer le fichier manifeste pour 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 sous forme de fichier CSV et les enregistrer dans un bucket Cloud Storage. La tâche d'opérations par lot Storage 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 Kio 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ù :
URIest l'URI du bucket contenant le fichier manifeste. Exemple :gs://bucket_name/path_to_csv_file/*.csvLorsque vous utilisez le caractère générique*.csv, BigQuery exporte le résultat vers plusieurs fichiers CSV.OVERWRITE_VALUEest une valeur booléenne. Si la valeur est définie surtrue, l'opération d'exportation écrase les fichiers existants à l'emplacement spécifié.DATASET_VIEW_NAMEest 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_IDcorrespond à l'ID ou au numéro du projet. Exemple :my-projectDATASET_IDest le nom de l'ensemble de données. Exemple :objects-deletion-datasetVIEW_NAMEest le nom de la vue de l'ensemble de données. Exemple :bucket_attributes_view
BUCKET_NAMEest le nom du bucket. Exemple :my-bucketSNAPSHOT_TIMEcorrespond à l'heure de l'instantané de la vue de l'ensemble de données Storage Insights. Exemple :2024-09-10T00:00:00Z
Créer un job d'opérations Storage par lot
Pour créer un job d'opérations de stockage par lot afin de traiter les objets contenus dans le fichier manifeste, procédez comme suit :
Ligne de commande
-
Dans la console Google Cloud , activez Cloud Shell.
En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
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_IDest le nom du job d'opérations Storage par lot.SOURCE_BUCKET_NAMEest le bucket contenant un ou plusieurs objets que vous souhaitez traiter. Exemple :my-bucketURIest l'URI du bucket contenant le fichier manifeste. Exemple :gs://bucket_name/path_to_csv_file/*.csvLorsque vous utilisez le caractère générique*.csv, BigQuery exporte le résultat vers plusieurs fichiers CSV.JOB_TYPE_FLAGcorrespond à l'un des flags suivants, en fonction du type de job.--delete-object: supprime 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 des métadonnées que vous souhaitez modifier. Vous pouvez spécifier une ou plusieurs paires clé/valeur sous forme de liste. Vous pouvez également fournir des configurations de conservation des objets à l'aide de l'indicateur--put-metadata.--rewrite-object: mettez à jour les clés de chiffrement gérées par le client pour un ou plusieurs objets.--put-object-event-based-hold: activez les retenues d'objet basées sur des événements.--no-put-object-event-based-hold: désactive les retenues d'objets basées sur des événements.--put-object-temporary-hold: active les retenues d'objets temporaires.--no-put-object-temporary-hold: désactivez les retenues d'objets temporaires.
--clear-all-object-custom-contexts: supprime tous les contextes d'objet existants.L'exemple suivant montre comment créer un job pour effacer tous les contextes d'objet pour les objets listés dans
manifest.csv:gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --clear-all-object-custom-contexts
--clear-object-custom-contexts: supprime les contextes avec des clés spécifiques. Vous pouvez également mettre à jour des contextes spécifiques tout en supprimant des clés en utilisant à la fois l'option--clear-object-custom-contextset l'une des options suivantes :--update-object-custom-contexts: fournissez une carte de paires clé/valeur.L'exemple suivant montre comment créer un job pour supprimer le contexte avec la clé
temp-idet mettre à jour ou insérer le contexte avec les clésproject-idetcost-centerpour tous les objets listés dansmanifest.csv:gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --clear-object-custom-contexts=temp-id \ --update-object-custom-contexts=project-id=project-A,cost-center=engineering
--update-object-custom-contexts-file: indiquez le chemin d'accès à un fichier JSON ou YAML contenant des paires clé/valeur.L'exemple suivant montre comment créer un job pour traiter les objets définis dans
manifest.csv. Voici ce que vous allez apprendre avec ce job :Supprime tous les contextes avec la clé
temp-id.Met à jour les contextes existants avec les clés
project-idetcost-centerdéfinies dans le fichier/tmp/context_updates.json.
gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --clear-object-custom-contexts=temp-id \ --update-object-custom-contexts-file=/tmp/context_updates.json
Où
/tmp/context_updates.jsoncontient les contextes d'objet suivants :{ "project-id": {"value": "project-A"}, "cost-center": {"value": "engineering"} }
Intégration à VPC Service Controls
Vous pouvez fournir un niveau de sécurité supplémentaire pour les ressources des opérations par lot de stockage à l'aide de VPC Service Controls. Lorsque vous utilisez VPC Service Controls, vous ajoutez des projets aux périmètres de service afin de protéger les ressources et les services des requêtes provenant de l'extérieur du périmètre. Pour en savoir plus sur les détails du périmètre de service VPC Service Controls pour les opérations par lot de stockage, consultez Produits compatibles et limites.
Utiliser Cloud Audit Logs pour les jobs d'opérations de stockage par lot
Les jobs d'opérations de stockage par lot enregistrent les transformations apportées aux objets Cloud Storage dans les journaux d'audit Cloud Storage. Vous pouvez utiliser Cloud Audit Logs avec Cloud Storage pour suivre les transformations d'objets effectuées par les tâches d'opérations de stockage par lot. Pour savoir comment activer les journaux d'audit, consultez Activer les journaux d'audit. Dans l'entrée de journal d'audit, le champ de métadonnées callUserAgent avec la valeur StorageBatchOperations indique une transformation des opérations par lot de stockage.
Étapes suivantes
- En savoir plus sur les ensembles de données Storage Insights