Crea e gestisci i job di operazioni batch

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

  1. Nella console Google Cloud , attiva Cloud Shell.

    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.

  2. (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 create con 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.

  3. 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=''.
      • --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-object per 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-Language a en per tutti gli oggetti elencati in manifest.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 campi Retain-Until e Retention-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 esempio 2025-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, Unlocked o Locked.

          Quando invii una richiesta di aggiornamento dei campi RETENTION_MODE e RETAIN_UNTIL_TIME, tieni presente quanto segue:

          • Per aggiornare la configurazione della conservazione degli oggetti, devi fornire valori non vuoti per i campi RETENTION_MODE e RETAIN_UNTIL_TIME; se ne imposti solo uno, si verifica un errore INVALID_ARGUMENT.
          • Puoi estendere il valore di RETAIN_UNTIL_TIME per gli oggetti in modalità Unlocked o Locked.
          • La conservazione degli oggetti deve essere in modalità Unlocked se 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_MODE e RETAIN_UNTIL_TIME.
          • Se ometti entrambi i campi RETENTION_MODE e RETAIN_UNTIL_TIME, la configurazione della conservazione rimane invariata.

      • --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-contexts sia 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-id e aggiornare o inserire il contesto con le chiavi project-id e cost-center per tutti 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-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-id e cost-center definite 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.json contiene 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.

[](google::cloud::storagebatchoperations_v1::StorageBatchOperationsClient
       client,
   std::string const& project_id, std::string const& job_id,
   std::string const& target_bucket_name, std::string const& object_prefix) {
  auto const parent =
      std::string{"projects/"} + project_id + "/locations/global";
  namespace sbo = google::cloud::storagebatchoperations::v1;
  sbo::Job job;
  sbo::BucketList* bucket_list = job.mutable_bucket_list();
  sbo::BucketList::Bucket* bucket_config = bucket_list->add_buckets();
  bucket_config->set_bucket(target_bucket_name);
  sbo::PrefixList* prefix_list_config = bucket_config->mutable_prefix_list();
  prefix_list_config->add_included_object_prefixes(object_prefix);
  sbo::DeleteObject* delete_object_config = job.mutable_delete_object();
  delete_object_config->set_permanent_object_deletion_enabled(false);
  auto result = client.CreateJob(parent, job, job_id).get();
  if (!result) throw result.status();
  std::cout << "Created job: " << result->name() << "\n";
}

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.

use Google\Cloud\StorageBatchOperations\V1\Client\StorageBatchOperationsClient;
use Google\Cloud\StorageBatchOperations\V1\CreateJobRequest;
use Google\Cloud\StorageBatchOperations\V1\Job;
use Google\Cloud\StorageBatchOperations\V1\BucketList;
use Google\Cloud\StorageBatchOperations\V1\BucketList\Bucket;
use Google\Cloud\StorageBatchOperations\V1\PrefixList;
use Google\Cloud\StorageBatchOperations\V1\DeleteObject;

/**
 * Create a new batch job.
 *
 * @param string $projectId Your Google Cloud project ID.
 *        (e.g. 'my-project-id')
 * @param string $jobId A unique identifier for this job.
 *        (e.g. '94d60cc1-2d95-41c5-b6e3-ff66cd3532d5')
 * @param string $bucketName The name of your Cloud Storage bucket to operate on.
 *        (e.g. 'my-bucket')
 * @param string $objectPrefix The prefix of objects to include in the operation.
 *        (e.g. 'prefix1')
 */
function create_job(string $projectId, string $jobId, string $bucketName, string $objectPrefix): void
{
    // Create a client.
    $storageBatchOperationsClient = new StorageBatchOperationsClient();

    $parent = $storageBatchOperationsClient->locationName($projectId, 'global');

    $prefixListConfig = new PrefixList(['included_object_prefixes' => [$objectPrefix]]);
    $bucket = new Bucket(['bucket' => $bucketName, 'prefix_list' => $prefixListConfig]);
    $bucketList = new BucketList(['buckets' => [$bucket]]);

    $deleteObject = new DeleteObject(['permanent_object_deletion_enabled' => false]);

    $job = new Job(['bucket_list' => $bucketList, 'delete_object' => $deleteObject]);

    $request = new CreateJobRequest([
        'parent' => $parent,
        'job_id' => $jobId,
        'job' => $job,
    ]);
    $response = $storageBatchOperationsClient->createJob($request);

    printf('Created job: %s', $response->getName());
}

API REST

API JSON

  1. Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione Authorization.

  2. 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 è 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",
         ...,
        "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 esempio 2025-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, Unlocked o Locked.

          Quando invii una richiesta di aggiornamento dei campi RETENTION_MODE e RETAIN_UNTIL_TIME, tieni presente quanto segue:

          • Per aggiornare la configurazione della conservazione degli oggetti, devi fornire valori non vuoti per i campi RETENTION_MODE e RETAIN_UNTIL_TIME; se ne imposti solo uno, si verifica un errore INVALID_ARGUMENT.
          • Puoi estendere il valore di RETAIN_UNTIL_TIME per gli oggetti in modalità Unlocked o Locked.
          • La conservazione degli oggetti deve essere in modalità Unlocked se 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_MODE e RETAIN_UNTIL_TIME.
          • Se ometti entrambi i campi RETENTION_MODE e RETAIN_UNTIL_TIME, la configurazione della conservazione rimane invariata.
        • 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 il blocco oggetto temporaneo. Il valore 1 attiva la sospensione, mentre il valore 2 la disattiva.

          • EVENT_BASED_HOLD_VALUE viene utilizzato per attivare o disattivare il blocco oggetto basato su eventi. Il valore 1 attiva la sospensione, mentre il valore 2 la 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 su true per eliminare tutti i contesti degli oggetti esistenti.
      • DRY_RUN_VALUE è un valore booleano facoltativo. Imposta su true per eseguire il job in modalità dry run. Il valore predefinito è false.

    • Utilizza cURL per chiamare l'API JSON con una richiesta di POSTjob 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

  1. Nella console Google Cloud , attiva Cloud Shell.

    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.

  2. 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: SUCCEEDED
    

    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:

      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.

[](google::cloud::storagebatchoperations_v1::StorageBatchOperationsClient
       client,
   std::string const& project_id, std::string const& job_id) {
  auto const parent =
      std::string{"projects/"} + project_id + "/locations/global";
  auto const name = parent + "/jobs/" + job_id;
  auto job = client.GetJob(name);
  if (!job) throw job.status();
  std::cout << "Got job: " << job->name() << "\n";
}

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.

use Google\Cloud\StorageBatchOperations\V1\Client\StorageBatchOperationsClient;
use Google\Cloud\StorageBatchOperations\V1\GetJobRequest;

/**
 * Gets a batch job.
 *
 * @param string $projectId Your Google Cloud project ID.
 *        (e.g. 'my-project-id')
 * @param string $jobId A unique identifier for this job.
 *        (e.g. '94d60cc1-2d95-41c5-b6e3-ff66cd3532d5')
 */
function get_job(string $projectId, string $jobId): void
{
    // Create a client.
    $storageBatchOperationsClient = new StorageBatchOperationsClient();

    $parent = $storageBatchOperationsClient->locationName($projectId, 'global');
    $formattedName = $parent . '/jobs/' . $jobId;

    $request = new GetJobRequest([
        'name' => $formattedName,
    ]);

    $response = $storageBatchOperationsClient->getJob($request);

    printf('Got job: %s', $response->getName());
}

API REST

API JSON

  1. Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione Authorization.

  2. Utilizza cURL per chiamare l'API JSON con una richiesta di GETjob 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

  1. Nella console Google Cloud , attiva Cloud Shell.

    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.

  2. 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.

[](google::cloud::storagebatchoperations_v1::StorageBatchOperationsClient
       client,
   std::string const& project_id) {
  auto const parent =
      std::string{"projects/"} + project_id + "/locations/global";
  for (auto const& job : client.ListJobs(parent)) {
    if (!job) throw job.status();
    std::cout << job->name() << "\n";
  }
}

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.

use Google\Cloud\StorageBatchOperations\V1\Client\StorageBatchOperationsClient;
use Google\Cloud\StorageBatchOperations\V1\ListJobsRequest;

/**
 * List Jobs in a given project.
 *
 * @param string $projectId Your Google Cloud project ID.
 *        (e.g. 'my-project-id')
 */
function list_jobs(string $projectId): void
{
    // Create a client.
    $storageBatchOperationsClient = new StorageBatchOperationsClient();

    $parent = $storageBatchOperationsClient->locationName($projectId, 'global');

    $request = new ListJobsRequest([
        'parent' => $parent,
    ]);

    $jobs = $storageBatchOperationsClient->listJobs($request);

    foreach ($jobs as $job) {
        printf('Job name: %s' . PHP_EOL, $job->getName());
    }
}

API REST

API JSON

  1. Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione Authorization.

  2. Utilizza cURL per chiamare l'API JSON con una richiesta di LIST 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.

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

  1. Nella console Google Cloud , attiva Cloud Shell.

    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.

  2. 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.

[](google::cloud::storagebatchoperations_v1::StorageBatchOperationsClient
       client,
   std::string const& project_id, std::string const& job_id) {
  auto const parent =
      std::string{"projects/"} + project_id + "/locations/global";
  auto const name = parent + "/jobs/" + job_id;
  auto response = client.CancelJob(name);
  if (!response) throw response.status();
  std::cout << "Cancelled job: " << name << "\n";
}

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.

use Google\Cloud\StorageBatchOperations\V1\Client\StorageBatchOperationsClient;
use Google\Cloud\StorageBatchOperations\V1\CancelJobRequest;

/**
 * Cancel a batch job.
 *
 * @param string $projectId Your Google Cloud project ID.
 *        (e.g. 'my-project-id')
 * @param string $jobId A unique identifier for this job.
 *        (e.g. '94d60cc1-2d95-41c5-b6e3-ff66cd3532d5')
 */
function cancel_job(string $projectId, string $jobId): void
{
    // Create a client.
    $storageBatchOperationsClient = new StorageBatchOperationsClient();

    $parent = $storageBatchOperationsClient->locationName($projectId, 'global');
    $formattedName = $parent . '/jobs/' . $jobId;

    $request = new CancelJobRequest([
        'name' => $formattedName,
    ]);

    $storageBatchOperationsClient->cancelJob($request);

    printf('Cancelled job: %s', $formattedName);
}

API REST

API JSON

  1. Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione Authorization.

  2. Utilizza cURL per chiamare l'API JSON con una richiesta CANCEL di 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

  1. Nella console Google Cloud , attiva Cloud Shell.

    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.

  2. 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.

[](google::cloud::storagebatchoperations_v1::StorageBatchOperationsClient
       client,
   std::string const& project_id, std::string const& job_id) {
  auto const parent =
      std::string{"projects/"} + project_id + "/locations/global";
  auto const name = parent + "/jobs/" + job_id;
  auto status = client.DeleteJob(name);
  if (!status.ok()) throw status;
  std::cout << "Deleted job: " << name << "\n";
}

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.

use Google\Cloud\StorageBatchOperations\V1\Client\StorageBatchOperationsClient;
use Google\Cloud\StorageBatchOperations\V1\DeleteJobRequest;

/**
 * Delete a batch job.
 *
 * @param string $projectId Your Google Cloud project ID.
 *        (e.g. 'my-project-id')
 * @param string $jobId A unique identifier for this job.
 *        (e.g. '94d60cc1-2d95-41c5-b6e3-ff66cd3532d5')
 */
function delete_job(string $projectId, string $jobId): void
{
    // Create a client.
    $storageBatchOperationsClient = new StorageBatchOperationsClient();

    $parent = $storageBatchOperationsClient->locationName($projectId, 'global');
    $formattedName = $parent . '/jobs/' . $jobId;

    $request = new DeleteJobRequest([
        'name' => $formattedName,
    ]);

    $storageBatchOperationsClient->deleteJob($request);

    printf('Deleted job: %s', $formattedName);
}

API REST

API JSON

  1. Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione Authorization.

  2. Utilizza cURL per chiamare l'API JSON con una richiesta DELETE di 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 su true, 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 formato PROJECT_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

  1. Nella console Google Cloud , attiva Cloud Shell.

    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.

  2. 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.

      • --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-contexts sia 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-id e aggiornare o inserire il contesto con le chiavi project-id e cost-center per tutti 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-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-id e cost-center definite 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.json contiene 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