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.
Abilita API
Abilita l'API Storage Batch Operations.
gcloud services enable storagebatchoperations.googleapis.com
Creare un manifest
Se vuoi utilizzare un manifest per la selezione degli oggetti, crea un file manifest. L'utilizzo di un manifest è uno dei modi per selezionare gli oggetti da elaborare in un job di operazioni batch di archiviazione.
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.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Console
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che contiene gli oggetti su cui vuoi eseguire operazioni batch.
Si apre la pagina Dettagli bucket con la scheda Oggetti selezionata.
- Fai clic su Crea operazioni batch.
- Nel riquadro Seleziona operazione, scegli il tipo di operazione:
- Gestisci blocchi sugli oggetti: seleziona Blocco temporaneo o Blocco basato su eventi. Per saperne di più, consulta Archiviazione a fini legali degli oggetti.
- Aggiorna metadati oggetto: per aggiungere metadati
dell'oggetto, procedi nel seguente modo:
- Per aggiungere metadati personalizzati, completa i seguenti passaggi:
- Nel campo Chiave, inserisci un nome per la chiave.
- Nel campo Valore, inserisci un valore per la chiave.
- (Facoltativo) Fai clic su + Aggiungi elemento per aggiungere altre coppie chiave-valore.
- Per aggiornare i metadati a chiave fissa, completa i seguenti passaggi:
- Per espandere la sezione Aggiorna metadati a chiave fissa, fai clic sulla freccia di espansione .
- Nell'elenco Seleziona uno o più metadati da aggiornare, seleziona gli elementi dei metadati da modificare.
- Per aggiungere metadati personalizzati, completa i seguenti passaggi:
- Aggiorna/Ruota chiave di crittografia: per utilizzare o aggiornare la chiave di crittografia per gli oggetti, procedi nel seguente modo:
- Nell'elenco Seleziona una chiave Cloud KMS, seleziona una chiave di crittografia gestita dal cliente (CMEK).
- (Facoltativo) Seleziona Cambia progetto per scegliere una chiave da un altro progetto o seleziona Inserisci chiave manualmente per compilare i dettagli.
- Elimina oggetti: per eliminare
gli oggetti, segui questi passaggi:
- Controlla se il controllo delle versioni degli oggetti è attivato.
Se il controllo delle versioni degli oggetti è attivato, scegli una delle seguenti opzioni di eliminazione:
- Seleziona Elimina tutte le versioni degli oggetti per rimuovere sia le versioni attive che quelle non correnti.
- Seleziona Elimina definitivamente le versioni live per rimuovere solo la versione live.
Se il controllo delle versioni degli oggetti non è abilitato, tutti gli oggetti selezionati per l'eliminazione vengono eliminati definitivamente.
- Fai clic su Avanti.
- Nel riquadro Assegna un nome all'operazione e specifica gli oggetti, procedi nel seguente modo:
- Nel campo Nome, inserisci un nome.
- (Facoltativo) Nel campo Descrizione, inserisci una descrizione.
- Nella sezione Specifica oggetti, definisci un criterio per elaborare
gli oggetti dal bucket. Scegli una delle seguenti opzioni:
- Seleziona tutti gli oggetti: include tutti gli oggetti nel bucket.
- Seleziona gli oggetti utilizzando i filtri dei prefissi: per definire l'elenco di
oggetti utilizzando i filtri dei prefissi, procedi nel seguente modo:
- Nel campo Inserisci i prefissi degli oggetti da includere, inserisci un prefisso.
- (Facoltativo) Fai clic su + Aggiungi prefisso per specificare prefissi aggiuntivi.
- Carica elenchi di oggetti utilizzando file manifest (CSV): per utilizzare un file manifest per selezionare gli oggetti, procedi nel seguente modo:
- Carica il file CSV manifest in un bucket. Questo file deve contenere le intestazioni per Nome bucket, Chiave oggetto e Numero di generazione.
- Nell'elenco Seleziona la modalità del file manifest, scegli una delle seguenti opzioni:
- Se selezioni Seleziona un file manifest da Cloud Storage, fai clic su Sfoglia nel campo Seleziona un file manifest da Cloud Storage. Nella finestra di dialogo Seleziona oggetto visualizzata, vai al file CSV del manifest e fai clic su Seleziona.
- Se selezioni Seleziona più file manifest utilizzando un carattere jolly,
inserisci il percorso del file nel campo Inserisci la posizione del file manifest utilizzando
un carattere jolly. Ad esempio:
bucket-name/folder/manifest_*.
- Fai clic su Crea.
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.
Per impostare il progetto predefinito, esegui il comando
gcloud config set project:gcloud config set project PROJECT_ID
Dove PROJECT_ID è l'ID del tuo progetto.
(Facoltativo) Esegui un job di prova. 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. Il dry run 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 del dry run, 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 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 con 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 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 del 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.
Recupera 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) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Console
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
- Nell'elenco dei bucket, fai clic sul nome del bucket associato all'operazione.
- Nella pagina Dettagli bucket, fai clic sulla scheda Operazioni.
- Nell'elenco delle operazioni, fai clic sull'ID operazione del job che vuoi visualizzare.
- La pagina dei dettagli mostra le metriche per il job nella scheda Panoramica, ad esempio gli oggetti rilevati, elaborati e gli eventuali errori che si sono verificati.
- Nella tabella Riepilogo errori, esamina i dettagli dell'errore di esecuzione o fai clic su Visualizza in Cloud Logging per visualizzare i record.
- Per visualizzare le impostazioni di configurazione del job, fai clic sulla scheda Configurazione.
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 dry run è 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 il dry run è 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.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Console
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
- Nell'elenco dei bucket, fai clic sul nome del bucket associato all'operazione.
- Nella pagina Dettagli bucket, fai clic sulla scheda Operazioni. La pagina Operazioni mostra un elenco delle operazioni attive in esecuzione.
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.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Console
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket associato all'operazione batch di archiviazione da annullare.
Fai clic sulla scheda Operazioni. Questa scheda mostra un elenco di job di operazioni batch. Puoi annullare solo i job in corso.
Nell'elenco delle operazioni, seleziona uno o più job da annullare, quindi fai clic su Annulla.
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.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Console
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket associato all'operazione batch di archiviazione da eliminare.
Fai clic sulla scheda Operazioni. Questa scheda mostra un elenco di job di operazioni batch. Puoi eliminare solo i job non in esecuzione, ad esempio i job completati, non riusciti o annullati.
Nell'elenco delle operazioni, seleziona uno o più job da eliminare, quindi fai clic su Elimina.
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.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i 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 utilizzando un file manifest
Per creare un job di operazioni batch di archiviazione per elaborare gli oggetti contenuti nel manifest, completa i seguenti passaggi:
Console
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che contiene gli oggetti su cui vuoi eseguire operazioni batch.
Si apre la pagina Dettagli bucket con la scheda Oggetti selezionata.
- Fai clic su Crea operazioni batch.
- Nel riquadro Seleziona operazione, scegli il tipo di operazione:
- Gestisci blocchi sugli oggetti: seleziona Blocco temporaneo o Blocco basato su eventi. Per saperne di più, consulta Archiviazione a fini legali degli oggetti.
- Aggiorna metadati oggetto: per aggiungere metadati
dell'oggetto, procedi nel seguente modo:
- Per aggiungere metadati personalizzati, completa i seguenti passaggi:
- Nel campo Chiave, inserisci un nome per la chiave.
- Nel campo Valore, inserisci un valore per la chiave.
- (Facoltativo) Fai clic su + Aggiungi elemento per aggiungere altre coppie chiave-valore.
- Per aggiornare i metadati a chiave fissa, completa i seguenti passaggi:
- Per espandere la sezione Aggiorna metadati a chiave fissa, fai clic sulla freccia di espansione .
- Nell'elenco Seleziona uno o più metadati da aggiornare, seleziona gli elementi dei metadati da modificare.
- Per aggiungere metadati personalizzati, completa i seguenti passaggi:
- Aggiorna/Ruota chiave di crittografia: per utilizzare o aggiornare la chiave di crittografia per gli oggetti, procedi nel seguente modo:
- Nell'elenco Seleziona una chiave Cloud KMS, seleziona una chiave di crittografia gestita dal cliente (CMEK).
- (Facoltativo) Seleziona Cambia progetto per scegliere una chiave da un altro progetto o seleziona Inserisci chiave manualmente per compilare i dettagli.
- Elimina oggetti: per eliminare
gli oggetti, segui questi passaggi:
- Controlla se il controllo delle versioni degli oggetti è attivato.
Se il controllo delle versioni degli oggetti è attivato, scegli una delle seguenti opzioni di eliminazione:
- Seleziona Elimina tutte le versioni degli oggetti per rimuovere sia le versioni attive che quelle non correnti.
- Seleziona Elimina definitivamente le versioni live per rimuovere solo la versione live.
Se il controllo delle versioni degli oggetti non è abilitato, tutti gli oggetti selezionati per l'eliminazione vengono eliminati definitivamente.
- Fai clic su Avanti.
- Nel riquadro Assegna un nome all'operazione e specifica gli oggetti, procedi nel seguente modo:
- Nel campo Nome, inserisci un nome.
- (Facoltativo) Nel campo Descrizione, inserisci una descrizione.
- Nella sezione Specifica oggetti, seleziona Carica elenchi di
oggetti utilizzando file manifest (CSV) e poi procedi come segue:
- Carica il file CSV manifest in un bucket. Questo file deve contenere le intestazioni per Nome bucket, Chiave oggetto e Numero di generazione.
- Nell'elenco Seleziona la modalità del file manifest, scegli una delle seguenti opzioni:
- Se selezioni Seleziona un file manifest da Cloud Storage, fai clic su Sfoglia nel campo Seleziona un file manifest da Cloud Storage. Nella finestra di dialogo Seleziona oggetto visualizzata, vai al file CSV del manifest e fai clic su Seleziona.
- Se selezioni Seleziona più file manifest utilizzando un carattere jolly,
inserisci il percorso del file nel campo Inserisci la posizione del file manifest utilizzando
un carattere jolly. Ad esempio:
bucket-name/folder/manifest_*.
- Fai clic su Crea.
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 di 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