Questa pagina descrive come creare, visualizzare, elencare, annullare ed eliminare i job di operazioni batch di archiviazione. Descrive inoltre come utilizzare Cloud Audit Logs con i job di operazioni batch di archiviazione.
Prima di iniziare
Per creare e gestire i job di operazioni batch di archiviazione, completa i passaggi nelle sezioni seguenti.
Configura Storage Intelligence
Per creare e gestire i job di operazioni batch di archiviazione, configura Storage Intelligence nel bucket in cui vuoi eseguire il job.
Configura Google Cloud CLI
Devi utilizzare Google Cloud CLI versione 516.0.0 o successive.
Impostare il progetto predefinito
Imposta il progetto in cui vuoi creare il job di operazioni batch di archiviazione.
gcloud config set project PROJECT_ID
dove PROJECT_ID è l'ID del tuo progetto.
Abilita API
Abilita l'API Storage Batch Operations.
gcloud services enable storagebatchoperations.googleapis.com
Creare un manifest
Per utilizzare un manifest per la selezione degli oggetti, crea un manifest.
Crea un job di operazioni batch di archiviazione
Questa sezione descrive come creare un job di operazioni batch di archiviazione.
Per ottenere le autorizzazioni
necessarie per creare un job di operazioni batch di archiviazione,
chiedi all'amministratore di concederti il
ruolo IAM Storage Admin (roles/storage.admin) sul progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per creare un job di operazioni batch di archiviazione. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare un job di operazioni batch di archiviazione sono necessarie le seguenti autorizzazioni:
-
Crea un job di operazioni batch di archiviazione:
storagebatchoperations.jobs.create -
Esegui il job di operazioni batch di archiviazione per eliminare gli oggetti:
storage.objects.delete -
Esegui il job di operazioni batch di aggiornamento dei metadati degli oggetti, aggiornamento della chiave di crittografia gestita dal cliente dell'oggetto, aggiornamento del contesto dell'oggetto o aggiornamento dell'archiviazione del blocco oggetto:
storage.objects.update
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Riga di comando
-
Nella console Google Cloud , attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
(Facoltativo) Esegui un job di dry run. Prima di eseguire un job, ti consigliamo di eseguirlo in modalità dry run per verificare i criteri di selezione degli oggetti e controllare la presenza di errori. L'esecuzione di prova non modifica alcun oggetto.
Nell'ambiente di sviluppo, esegui il comando
gcloud storage batch-operations jobs createcon il flag--dry-run:gcloud storage batch-operations jobs create DRY_RUN_JOB_NAME\ --bucket=BUCKET_NAME OBJECT_SELECTION_FLAG JOB_TYPE_FLAG\ --dry-run
La simulazione utilizza gli stessi parametri del job effettivo. Per i dettagli, consulta le descrizioni dei parametri.
Per visualizzare i risultati della simulazione, vedi Visualizzare i dettagli del job di operazioni batch di Storage.
Dopo una prova dry run riuscita, esegui il comando
gcloud storage batch-operations jobs create.gcloud storage batch-operations jobs create JOB_NAME\ --bucket=BUCKET_NAME OBJECT_SELECTION_FLAG JOB_TYPE_FLAG
Dove i parametri sono i seguenti:
DRY_RUN_JOB_NAMEè il nome del job di simulazione delle operazioni batch di archiviazione.JOB_NAMEè il nome del job di operazioni batch di archiviazione.BUCKET_NAMEè il nome del bucket che contiene uno o più oggetti da elaborare.OBJECT_SELECTION_FLAGè uno dei seguenti flag che devi specificare:--included-object-prefixes: specifica uno o più prefissi degli oggetti. Ad esempio:- Per far corrispondere un singolo prefisso, utilizza:
--included-object-prefixes='prefix1'. - Per trovare corrispondenze con più prefissi, utilizza un elenco di prefissi separati da virgole:
--included-object-prefixes='prefix1,prefix2'. - Per includere tutti gli oggetti, utilizza un prefisso vuoto:
--included-object-prefixes=''.
- Per far corrispondere un singolo prefisso, utilizza:
--manifest-location: specifica la posizione del manifest. Ad esempio:gs://bucket_name/path/object_name.csv.
JOB_TYPE_FLAGè uno dei seguenti flag che devi specificare, a seconda del tipo di prestazione.--delete-object: elimina uno o più oggetti.Se il controllo delle versioni degli oggetti è abilitato per il bucket, gli oggetti correnti passano a uno stato non corrente e gli oggetti non correnti vengono ignorati.
Se il controllo delle versioni degli oggetti è disabilitato per il bucket, l'operazione di eliminazione elimina definitivamente gli oggetti e ignora gli oggetti non correnti.
--enable-permanent-object-deletion: elimina definitivamente gli oggetti. Utilizza questo flag insieme al flag--delete-objectper eliminare definitivamente gli oggetti attivi e non correnti in un bucket, indipendentemente dalla configurazione del controllo delle versioni degli oggetti del bucket.--rewrite-object: aggiorna le chiavi di crittografia gestite dal cliente per uno o più oggetti.--put-object-event-based-hold: attiva Object Holds basato sugli eventi.--no-put-object-event-based-hold: disabilita il blocco di oggetti basato sugli eventi.--put-object-temporary-hold: attiva i blocchi di oggetti temporanei.--no-put-object-temporary-hold: disattiva i blocchi di oggetti temporanei.L'esempio seguente mostra come creare un job per aggiornare i metadati
Content-Languageaenper tutti gli oggetti elencati inmanifest.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: aggiorna i metadati dell'oggetto. Specifica la coppia chiave-valore per i metadati dell'oggetto che vuoi modificare. Puoi specificare una o più coppie chiave-valore come elenco. Puoi anche impostare le configurazioni di conservazione degli oggetti utilizzando il flag--put-metadata. Per farlo, specifica i parametri di conservazione utilizzando i campiRetain-UntileRetention-Mode. Ad esempio,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
Dove:
RETAIN_UNTIL_TIMEè la data e l'ora, nel formato RFC 3339, fino alla quale l'oggetto viene conservato. Ad esempio2025-10-09T10:30:00Z. Per impostare la configurazione della conservazione su un oggetto, devi abilitare la conservazione sul bucket che contiene l'oggetto.RETENTION_MODEè la modalità di conservazione,UnlockedoLocked.Quando invii una richiesta di aggiornamento dei campi
RETENTION_MODEeRETAIN_UNTIL_TIME, tieni presente quanto segue:- Per aggiornare la configurazione della conservazione degli oggetti, devi fornire valori non vuoti per i campi
RETENTION_MODEeRETAIN_UNTIL_TIME; se ne imposti solo uno, si verifica un erroreINVALID_ARGUMENT. - Puoi estendere il valore di
RETAIN_UNTIL_TIMEper gli oggetti in modalitàUnlockedoLocked. - La conservazione degli oggetti deve essere in modalità
Unlockedse vuoi eseguire le seguenti operazioni:- Riduci il valore di
RETAIN_UNTIL_TIME. - Rimuovi la configurazione della conservazione. Per rimuovere la configurazione, devi
fornire valori vuoti per i campi
RETENTION_MODEeRETAIN_UNTIL_TIME.
- Riduci il valore di
- Se ometti entrambi i campi
RETENTION_MODEeRETAIN_UNTIL_TIME, la configurazione della conservazione rimane invariata.
- Per aggiornare la configurazione della conservazione degli oggetti, devi fornire valori non vuoti per i campi
--clear-all-object-custom-contexts: elimina tutti i contesti degli oggetti esistenti.L'esempio seguente mostra come creare un job per cancellare tutti i contesti degli oggetti per gli oggetti elencati in
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: rimuovi i contesti con chiavi specifiche. Puoi anche aggiornare contesti specifici e rimuovere le chiavi utilizzando sia il flag--clear-object-custom-contextssia uno dei seguenti flag:--update-object-custom-contexts: fornisci una mappa di coppie chiave-valore.L'esempio seguente mostra come creare un job per rimuovere il contesto con la chiave
temp-ide aggiornare o inserire il contesto con le chiaviproject-idecost-centerper tutti gli oggetti elencati inmanifest.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: fornisci il percorso di un file JSON o YAML con coppie chiave-valore.L'esempio seguente mostra come creare un job per elaborare gli oggetti definiti in
manifest.csv. Il job esegue le seguenti operazioni:Rimuove tutti i contesti con la chiave
temp-id.Aggiorna i contesti esistenti con le chiavi
project-idecost-centerdefinite nel file/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
Dove
/tmp/context_updates.jsoncontiene i seguenti contesti degli oggetti:{ "project-id": {"value": "project-A"}, "cost-center": {"value": "engineering"} }
Librerie client
C++
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
API REST
API JSON
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Crea un file JSON contenente le impostazioni per il job di operazioni batch di archiviazione. Di seguito sono riportate le impostazioni comuni da includere:
{ "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 }
Dove:
JOB_NAMEè il nome del job di operazioni batch di archiviazione.JOB_DESCRIPTIONè la descrizione del job di operazioni batch di archiviazione.BUCKET_NAMEè il nome del bucket che contiene uno o più oggetti da elaborare.Per specificare gli oggetti da elaborare, utilizza uno dei seguenti attributi nel file JSON:
MANIFEST_LOCATIONè la posizione del manifest. Ad esempio:gs://bucket_name/path/object_name.csv.OBJECT_PREFIXESè l'elenco separato da virgole contenente uno o più prefissi oggetto. Per trovare la corrispondenza di tutti gli oggetti, utilizza un elenco vuoto.
A seconda del job che vuoi elaborare, specifica una delle seguenti opzioni:
Elimina oggetti:
"DeleteObject": { "permanent_object_deletion_enabled": OBJECT_DELETION_VALUE }
Dove
OBJECT_DELETION_VALUEèTRUEper eliminare gli oggetti.Aggiorna la chiave di crittografia gestita dal cliente per gli oggetti:
"RewriteObject": { "kms_key": KMS_KEY_VALUE }
dove
KMS_KEY_VALUEè il valore della chiave KMS dell'oggetto che vuoi aggiornare.Aggiorna i metadati dell'oggetto:
"PutMetadata": { "METADATA_KEY": "METADATA_VALUE", ..., "objectRetention": { "retainUntilTime": "RETAIN_UNTIL_TIME", "mode": "RETENTION_MODE" } }
Dove:
METADATA_KEY/VALUEè la coppia chiave/valore dei metadati dell'oggetto. Puoi specificare una o più coppie.RETAIN_UNTIL_TIMEè la data e l'ora, nel formato RFC 3339, fino alla quale l'oggetto viene conservato. Ad esempio2025-10-09T10:30:00Z. Per impostare la configurazione di conservazione su un oggetto, devi abilitare la conservazione sul bucket che contiene l'oggetto.RETENTION_MODEè la modalità di conservazione,UnlockedoLocked.Quando invii una richiesta di aggiornamento dei campi
RETENTION_MODEeRETAIN_UNTIL_TIME, tieni presente quanto segue:- Per aggiornare la configurazione della conservazione degli oggetti, devi fornire valori non vuoti per i campi
RETENTION_MODEeRETAIN_UNTIL_TIME; se ne imposti solo uno, si verifica un erroreINVALID_ARGUMENT. - Puoi estendere il valore di
RETAIN_UNTIL_TIMEper gli oggetti in modalitàUnlockedoLocked. - La conservazione degli oggetti deve essere in modalità
Unlockedse vuoi eseguire le seguenti operazioni:- Riduci il valore di
RETAIN_UNTIL_TIME. - Rimuovi la configurazione della conservazione. Per rimuovere la configurazione, devi
fornire valori vuoti per i campi
RETENTION_MODEeRETAIN_UNTIL_TIME.
- Riduci il valore di
- Se ometti entrambi i campi
RETENTION_MODEeRETAIN_UNTIL_TIME, la configurazione della conservazione rimane invariata.
- Per aggiornare la configurazione della conservazione degli oggetti, devi fornire valori non vuoti per i campi
Aggiorna blocchi di oggetti:
"PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE }
Dove:
TEMPORARY_HOLD_VALUEviene utilizzato per attivare o disattivare il blocco oggetto temporaneo. Il valore1attiva la sospensione, mentre il valore2la disattiva.EVENT_BASED_HOLD_VALUEviene utilizzato per attivare o disattivare il blocco oggetto basato su eventi. Il valore1attiva la sospensione, mentre il valore2la disattiva.
Aggiorna i contesti degli oggetti:
"updateObjectCustomContext": { "customContextUpdates": { "updates": { "CONTEXT_KEY": { "value": "CONTEXT_VALUE" } }, "keysToClear": ["CONTEXT_KEY_TO_CLEAR"] }, "clearAll": CLEAR_ALL_VALUE }
Dove:
CONTEXT_KEYè la chiave di contesto dell'oggetto da inserire o aggiornare.CONTEXT_VALUEè il valore del contesto dell'oggetto per la chiave.CONTEXT_KEY_TO_CLEARè la chiave da rimuovere.CLEAR_ALL_VALUEè impostato sutrueper eliminare tutti i contesti degli oggetti esistenti.
DRY_RUN_VALUEè un valore booleano facoltativo. Imposta sutrueper eseguire il job in modalità dry run. Il valore predefinito èfalse.
Utilizza
cURLper chiamare l'API JSON con una richiesta diPOSTjob di operazioni batch di archiviazione: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"
Dove:
JSON_FILE_NAMEè il nome del file JSON.PROJECT_IDè l'ID o il numero del progetto. Ad esempio,my-project.JOB_NAMEè il nome del job di operazioni batch di archiviazione.
Ottieni i dettagli del job di operazioni batch di archiviazione
Questa sezione descrive come ottenere i dettagli del job di operazioni batch di archiviazione.
Per ottenere le autorizzazioni necessarie per visualizzare un job di operazioni batch di archiviazione, chiedi all'amministratore di concederti il ruolo IAM Storage Admin (roles/storage.admin) sul progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per visualizzare un job di operazioni batch di archiviazione. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per visualizzare un job di operazioni batch di archiviazione sono necessarie le seguenti autorizzazioni:
-
Visualizza un job di operazioni batch di archiviazione:
storagebatchoperations.jobs.get,storagebatchoperations.operations.get
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Riga di comando
-
Nella console Google Cloud , attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
Nell'ambiente di sviluppo, esegui il comando
gcloud storage batch-operations jobs describe.gcloud storage batch-operations jobs describe JOB_ID
Dove:
JOB_IDè il nome del job di operazioni batch di archiviazione.Quando esegui la simulazione di un job, l'output include i seguenti campi:
totalObjectCount: mostra il numero di oggetti che corrispondono ai criteri di selezione.errorSummaries: elenca eventuali errori rilevati durante il dry run, ad esempio problemi di autorizzazione o configurazioni non valide.totalBytesFound: se utilizzi i prefissi degli oggetti per la selezione degli oggetti, il job mostra anche la dimensione totale degli oggetti interessati.
Se l'operazione va a buon fine, la risposta per il job di prova è simile al seguente esempio:
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: SUCCEEDEDUna risposta corretta al job omette il campo
dryRune restituisce le seguenti metriche nel campocounters:- Totale oggetti trovati.
- Il numero totale di byte trovati quando si utilizzano i prefissi degli oggetti.
- Trasformazioni degli oggetti riuscite.
- Trasformazioni degli oggetti non riuscite, se applicabile.
- Contesti degli oggetti creati, se applicabile.
- Contesti degli oggetti eliminati, se applicabile.
- Contesti degli oggetti aggiornati, se applicabile. Questo contatore tiene traccia degli aggiornamenti apportati alle chiavi di contesto esistenti.
La risposta per l'esecuzione di un job effettivo è simile al seguente esempio:
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
Librerie client
C++
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
API REST
API JSON
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API JSON con una richiesta diGETjob di operazioni batch di archiviazione:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
Dove:
PROJECT_IDè l'ID o il numero del progetto. Ad esempio,my-project.JOB_IDè il nome del job di operazioni batch di archiviazione.
Quando esegui la simulazione di un job, l'output include i seguenti campi:
totalObjectCount: mostra il numero di oggetti che corrispondono ai criteri di selezione.errorSummaries: elenca eventuali errori rilevati durante il dry run, ad esempio problemi di autorizzazione o configurazioni non valide.totalBytesFound: se utilizzi i prefissi degli oggetti per la selezione degli oggetti, il job mostra anche la dimensione totale degli oggetti interessati.
Se l'operazione ha esito positivo, la risposta per la prova generale è simile al seguente esempio:
{ "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 }
Una risposta corretta al job omette il campo dryRun e restituisce le seguenti metriche nel campo counters:
- Totale oggetti trovati.
- Il numero totale di byte trovati quando si utilizzano i prefissi degli oggetti.
- Trasformazioni degli oggetti riuscite.
- Trasformazioni degli oggetti non riuscite, se applicabile.
- Contesti degli oggetti creati, se applicabile.
- Contesti degli oggetti eliminati, se applicabile.
Contesti degli oggetti aggiornati, se applicabile. Questo contatore tiene traccia degli aggiornamenti apportati alle chiavi di contesto esistenti.
La risposta per l'esecuzione di un job effettivo è simile al seguente esempio:
{ "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": [ "" ] } } ] } }
Elenca job di operazioni batch di archiviazione
Questa sezione descrive come elencare i job di operazioni batch di archiviazione all'interno di un progetto.
Per ottenere le autorizzazioni
necessarie per elencare i job Storage Batch Operations,
chiedi all'amministratore di concederti il
ruolo IAM Storage Admin (roles/storage.admin) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per elencare i job di operazioni batch di archiviazione. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per elencare i job di operazioni batch di archiviazione sono necessarie le seguenti autorizzazioni:
-
Elenca job di operazioni batch di archiviazione:
storagebatchoperations.jobs.list,storagebatchoperations.operations.list
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Riga di comando
-
Nella console Google Cloud , attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
Nell'ambiente di sviluppo, esegui il comando
gcloud storage batch-operations jobs list.gcloud storage batch-operations jobs list
Librerie client
C++
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
API REST
API JSON
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API JSON con una richiesta diLISTjob di operazioni batch di archiviazione:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs"
Dove:
PROJECT_IDè l'ID o il numero del progetto. Ad esempio,my-project.
Annulla un job di operazioni batch di archiviazione
Questa sezione descrive come annullare un job di operazioni batch di archiviazione all'interno di un progetto.
Per ottenere le autorizzazioni
necessarie per annullare un job di operazioni batch di archiviazione,
chiedi all'amministratore di concederti il
ruolo IAM Storage Admin (roles/storage.admin) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per annullare un job di operazioni batch di archiviazione. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per annullare un job di operazioni batch di archiviazione sono necessarie le seguenti autorizzazioni:
-
Annulla un job di operazioni batch di archiviazione:
storagebatchoperations.jobs.cancel,storagebatchoperations.operations.cancel
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Riga di comando
-
Nella console Google Cloud , attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
Nell'ambiente di sviluppo, esegui il comando
gcloud storage batch-operations jobs cancel.gcloud storage batch-operations jobs cancel JOB_ID
Dove:
JOB_IDè il nome del job di operazioni batch di archiviazione.
Librerie client
C++
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
API REST
API JSON
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API JSON con una richiestaCANCELdi un job di operazioni batch di archiviazione:curl -X CANCEL \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
Dove:
PROJECT_IDè l'ID o il numero del progetto. Ad esempio,my-project.JOB_IDè il nome del job di operazioni batch di archiviazione.
Elimina un job di operazioni batch di archiviazione
Questa sezione descrive come eliminare un job di operazioni batch di archiviazione.
Per ottenere le autorizzazioni
necessarie per eliminare un job di operazioni batch di archiviazione,
chiedi all'amministratore di concederti il
ruolo IAM Storage Admin (roles/storage.admin) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per eliminare un job di operazioni batch di archiviazione. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per eliminare un job di operazioni batch di archiviazione sono necessarie le seguenti autorizzazioni:
-
Elimina un job di operazioni batch di archiviazione:
storagebatchoperations.jobs.delete
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Riga di comando
-
Nella console Google Cloud , attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
Nell'ambiente di sviluppo, esegui il comando
gcloud storage batch-operations jobs delete.gcloud storage batch-operations jobs delete JOB_ID
Dove:
JOB_IDè il nome del job di operazioni batch di archiviazione.
Librerie client
C++
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
API REST
API JSON
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API JSON con una richiestaDELETEdi un job di operazioni batch di archiviazione:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
Dove:
PROJECT_IDè l'ID o il numero del progetto. Ad esempio,my-project.JOB_IDè il nome del job di operazioni batch di archiviazione.
Crea un job di operazioni batch di archiviazione utilizzando i set di dati Storage Insights
Per creare un job di operazioni batch di archiviazione utilizzando i set di dati Storage Insights, completa i passaggi descritti nelle sezioni seguenti.
Per ottenere le autorizzazioni
necessarie per creare un job di operazioni batch di archiviazione,
chiedi all'amministratore di concederti il
ruolo IAM Storage Admin (roles/storage.admin) sul progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per creare un job di operazioni batch di archiviazione. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare un job di operazioni batch di archiviazione sono necessarie le seguenti autorizzazioni:
-
Crea un job di operazioni batch di archiviazione:
storagebatchoperations.jobs.create -
Esegui il job di operazioni batch di archiviazione per eliminare gli oggetti:
storage.objects.delete -
Esegui il job di operazioni batch di aggiornamento dei metadati degli oggetti, aggiornamento della chiave di crittografia gestita dal cliente dell'oggetto, aggiornamento del contesto dell'oggetto o aggiornamento dell'archiviazione del blocco oggetto:
storage.objects.update
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Crea un manifest utilizzando i set di dati Storage Insights
Puoi creare il manifest per il job di operazioni batch di archiviazione estraendo i dati da BigQuery. Per farlo, devi interrogare il set di dati collegato, esportare i dati risultanti come file CSV e salvarli in un bucket Cloud Storage. Il job di operazioni batch di archiviazione può quindi utilizzare questo file CSV come manifest.
L'esecuzione della seguente query SQL in BigQuery su una vista del set di dati Storage Insights recupera gli oggetti di dimensioni superiori a 1 KiB denominati 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
Dove:
URIè l'URI del bucket che contiene il manifest. Ad esempio,gs://bucket_name/path_to_csv_file/*.csv. Quando utilizzi il carattere jolly*.csv, BigQuery esporta il risultato in più file CSV.OVERWRITE_VALUEè un valore booleano. Se impostato sutrue, l'operazione di esportazione sovrascrive i file esistenti nella posizione specificata.DATASET_VIEW_NAMEè il nome completo della visualizzazione del set di dati Storage Insights nel formatoPROJECT_ID.DATASET_ID.VIEW_NAME. Per trovare il nome del set di dati, visualizza il set di dati collegato.Dove:
PROJECT_IDè l'ID o il numero del progetto. Ad esempio,my-project.DATASET_IDè il nome del set di dati. Ad esempio,objects-deletion-dataset.VIEW_NAMEè il nome della visualizzazione del set di dati. Ad esempio,bucket_attributes_view.
BUCKET_NAMEè il nome del bucket. Ad esempio,my-bucket.SNAPSHOT_TIMEè l'ora dello snapshot della visualizzazione del set di dati Storage Insights. Ad esempio,2024-09-10T00:00:00Z.
Crea un job di operazioni batch di archiviazione
Per creare un job di operazioni batch di archiviazione per elaborare gli oggetti contenuti nel manifest, completa i seguenti passaggi:
Riga di comando
-
Nella console Google Cloud , attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
Nell'ambiente di sviluppo, esegui il comando
gcloud storage batch-operations jobs create:gcloud storage batch-operations jobs create \ JOB_ID \ --bucket=SOURCE_BUCKET_NAME \ --manifest-location=URI \ --JOB_TYPE_FLAG
Dove:
JOB_IDè il nome del job di operazioni batch di archiviazione.SOURCE_BUCKET_NAMEè il bucket che contiene uno o più oggetti da elaborare. Ad esempio,my-bucket.URIè l'URI del bucket che contiene il manifest. Ad esempio,gs://bucket_name/path_to_csv_file/*.csv. Quando utilizzi il carattere jolly*.csv, BigQuery esporta il risultato in più file CSV.JOB_TYPE_FLAGè uno dei seguenti flag, a seconda del tipo di prestazione.--delete-object: elimina uno o più oggetti.--put-metadata: aggiorna i metadati dell'oggetto. I metadati dell'oggetto vengono archiviati come coppie chiave-valore. Specifica la coppia chiave-valore per i metadati che vuoi modificare. Puoi specificare una o più coppie chiave-valore come elenco. Puoi anche fornire configurazioni di conservazione degli oggetti utilizzando il flag--put-metadata.--rewrite-object: aggiorna le chiavi di crittografia gestite dal cliente per uno o più oggetti.--put-object-event-based-hold: attiva Object Holds basato sugli eventi.--no-put-object-event-based-hold: disabilita il blocco di oggetti basato sugli eventi.--put-object-temporary-hold: attiva i blocchi di oggetti temporanei.--no-put-object-temporary-hold: disattiva i blocchi di oggetti temporanei.
--clear-all-object-custom-contexts: elimina tutti i contesti degli oggetti esistenti.L'esempio seguente mostra come creare un job per cancellare tutti i contesti degli oggetti per gli oggetti elencati in
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: rimuovi i contesti con chiavi specifiche. Puoi anche aggiornare contesti specifici e rimuovere le chiavi utilizzando sia il flag--clear-object-custom-contextssia uno dei seguenti flag:--update-object-custom-contexts: fornisci una mappa di coppie chiave-valore.L'esempio seguente mostra come creare un job per rimuovere il contesto con la chiave
temp-ide aggiornare o inserire il contesto con le chiaviproject-idecost-centerper tutti gli oggetti elencati inmanifest.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: fornisci il percorso di un file JSON o YAML con coppie chiave-valore.L'esempio seguente mostra come creare un job per elaborare gli oggetti definiti in
manifest.csv. Il job esegue le seguenti operazioni:Rimuove tutti i contesti con la chiave
temp-id.Aggiorna i contesti esistenti con le chiavi
project-idecost-centerdefinite nel file/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
Dove
/tmp/context_updates.jsoncontiene i seguenti contesti degli oggetti:{ "project-id": {"value": "project-A"}, "cost-center": {"value": "engineering"} }
Integrazione con i Controlli di servizio VPC
Puoi fornire un ulteriore livello di sicurezza per le risorse delle operazioni batch di archiviazione utilizzando i Controlli di servizio VPC. Quando utilizzi i Controlli di servizio VPC, aggiungi progetti ai perimetri di servizio che proteggono risorse e servizi da richieste provenienti dall'esterno del perimetro. Per saperne di più sui dettagli del perimetro di servizio dei Controlli di servizio VPC per le operazioni batch di archiviazione, consulta Prodotti supportati e limitazioni.
Utilizzare Cloud Audit Logs per i job di operazioni batch di archiviazione
I job di operazioni batch di archiviazione registrano le trasformazioni sugli oggetti Cloud Storage in Cloud Audit Logs di Cloud Storage. Puoi utilizzare Cloud Audit Logs
con Cloud Storage per monitorare le trasformazioni degli oggetti eseguite dai job delle operazioni batch di archiviazione. Per informazioni sull'attivazione degli audit log, vedi Attivare gli audit log. Nella voce di log di controllo, il campo dei metadati callUserAgent con il valore StorageBatchOperations indica una trasformazione delle operazioni batch di archiviazione.
Passaggi successivi
- Scopri di più sui set di dati di Storage Insights