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 descritti 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
Attiva 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.
Riga di comando
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Nell'ambiente di sviluppo, 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:
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:--included-object-prefixes
: specifica uno o più prefissi oggetto. 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, a seconda del tipo di lavoro.--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.--rewrite-object
: aggiorna le chiavi di crittografia gestite dal cliente per uno o più oggetti.--put-object-event-based-hold
: attiva il blocco di oggetti basato sugli eventi.--no-put-object-event-based-hold
: disattiva i blocchi di oggetti basati su eventi.--put-object-temporary-hold
: attiva i blocchi di oggetti temporanei.--no-put-object-temporary-hold
: disattiva i blocchi di oggetti temporanei.
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, ..., } "PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE } }
Dove:
JOB_NAME
è il nome del job di operazioni batch di archiviazione.JOB_DESCRIPTION
è la descrizione del job di operazione batch di archiviazione.BUCKET_NAME
è il nome del bucket che contiene uno o più oggetti da elaborare.Per specificare gli oggetti che vuoi 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
èTRUE
per 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, ..., }
Dove
METADATA_VALUE
è il valore della chiave dei metadati dell'oggetto. Puoi specificare una o più coppie chiave-valore come elenco.Aggiorna blocchi di oggetti:
"PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE }
Dove:
TEMPORARY_HOLD_VALUE
viene utilizzato per attivare o disattivare la sospensione temporanea dell'oggetto. Il valore1
attiva la sospensione, mentre il valore2
la disattiva.EVENT_BASED_HOLD_VALUE
viene utilizzato per attivare o disattivare il blocco basato su eventi dell'oggetto. Il valore1
attiva la sospensione, mentre il valore2
la disattiva.
Utilizza
cURL
per chiamare l'API JSON con una richiesta diPOST
job 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/project=PROJECT_ID/locations/global/jobs?job_id=JOB_ID"
Dove:
JSON_FILE_NAME
è il nome del file JSON.PROJECT_ID
è l'ID o il numero del progetto. Ad esempio,my-project
.JOB_ID
è il nome del job di operazioni batch di archiviazione.
Recuperare i dettagli del job di operazioni batch di archiviazione
Questa sezione descrive come ottenere i dettagli del job delle operazioni batch di archiviazione.
Riga di comando
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
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.
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
cURL
per chiamare l'API JSON con una richiesta diGET
job 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.
Elenca i job di operazioni batch di archiviazione
Questa sezione descrive come elencare i job di operazioni batch di archiviazione all'interno di un progetto.
Riga di comando
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Nell'ambiente di sviluppo, esegui il comando
gcloud storage batch-operations jobs list
.gcloud storage batch-operations jobs list
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
cURL
per chiamare l'API JSON con una richiesta diLIST
job 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
.
Annullamento di un job di operazioni batch di archiviazione
Questa sezione descrive come annullare un job di operazioni batch di archiviazione all'interno di un progetto.
Riga di comando
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
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.
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
cURL
per chiamare l'API JSON con una richiesta diCANCEL
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.
Riga di comando
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
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.
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
cURL
per chiamare l'API JSON con una richiesta diDELETE
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 nelle sezioni seguenti.
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
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
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 che vuoi 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 lavoro.--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.--rewrite-object
: aggiorna le chiavi di crittografia gestite dal cliente per uno o più oggetti.--put-object-event-based-hold
: attiva il blocco di oggetti basato sugli eventi.--no-put-object-event-based-hold
: disattiva i blocchi di oggetti basati su eventi.--put-object-temporary-hold
: attiva i blocchi di oggetti temporanei.--no-put-object-temporary-hold
: disattiva i blocchi di oggetti temporanei.
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 Controlli di servizio VPC, aggiungi progetti ai perimetri di servizio che proteggono risorse e servizi dalle richieste provenienti dall'esterno del perimetro. Per scoprire 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'abilitazione degli audit log, vedi Abilitare gli audit log. Nella voce di log di controllo, il campo 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