Batchvorgangsjobs erstellen und verwalten

Auf dieser Seite wird beschrieben, wie Sie Jobs für Speicher-Batchvorgänge erstellen, ansehen, auflisten, abbrechen und löschen. Außerdem wird beschrieben, wie Sie Cloud-Audit-Logs mit Speicher-Batchvorgängen verwenden.

Hinweise

Führen Sie die Schritte in den folgenden Abschnitten aus, um Speicher-Batchvorgänge zu erstellen und zu verwalten.

Storage Intelligence konfigurieren

Wenn Sie Jobs für Speicher-Batchvorgänge erstellen und verwalten möchten, konfigurieren Sie Storage Intelligence für den Bucket, in dem Sie den Job ausführen möchten.

Google Cloud CLI einrichten

Sie müssen die Google Cloud CLI-Version 516.0.0 oder höher verwenden.

Standardprojekt festlegen

Legen Sie das Projekt fest, in dem Sie den Job für Speicher-Batchvorgänge erstellen möchten.

gcloud config set project PROJECT_ID

Dabei entspricht PROJECT_ID der ID des Projekts.

API aktivieren

Aktivieren Sie die Storage Batch Operations API.

gcloud services enable storagebatchoperations.googleapis.com

Manifest erstellen

Wenn Sie ein Manifest für die Objektauswahl verwenden möchten, erstellen Sie ein Manifest.

Job für Speicher-Batchvorgänge erstellen

In diesem Abschnitt wird beschrieben, wie Sie einen Job für Speicher-Batchvorgänge erstellen.

Befehlszeile

  1. In the Google Cloud console, activate Cloud Shell.

    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.

  2. Führen Sie in Ihrer Entwicklungsumgebung den Befehl gcloud storage batch-operations jobs create aus.

    gcloud storage batch-operations jobs create JOB_NAME --bucket=BUCKET_NAME OBJECT_SELECTION_FLAG JOB_TYPE_FLAG

    Wobei:

    • JOB_NAME ist der Name des Jobs für Speicher-Batchvorgänge.
    • BUCKET_NAME ist der Name des Buckets, der ein oder mehrere Objekte enthält, die Sie verarbeiten möchten.

    • OBJECT_SELECTION_FLAG ist eines der folgenden Flags:

      • --included-object-prefixes: Geben Sie ein oder mehrere Objektpräfixe an. Beispiel:

        • Wenn Sie ein einzelnes Präfix abgleichen möchten, verwenden Sie: --included-object-prefixes='prefix1'.
        • Wenn Sie mehrere Präfixe abgleichen möchten, verwenden Sie eine durch Kommas getrennte Präfixliste: --included-object-prefixes='prefix1,prefix2'.
        • Wenn Sie alle Objekte einschließen möchten, verwenden Sie ein leeres Präfix: --included-object-prefixes=''.
      • --manifest-location: Geben Sie den Speicherort des Manifests an. Beispiel: gs://bucket_name/path/object_name.csv

    • JOB_TYPE_FLAG ist je nach Jobtyp eines der folgenden Flags.

      • --delete-object: Löscht ein oder mehrere Objekte.

        • Wenn die Objektversionsverwaltung für den Bucket aktiviert ist, werden aktuelle Objekte in einen nicht aktuellen Zustand überführt und nicht aktuelle Objekte werden übersprungen.

        • Wenn die Objektversionsverwaltung für den Bucket deaktiviert ist, werden Objekte durch den Löschvorgang endgültig gelöscht und nicht aktuelle Objekte werden übersprungen.

      • --enable-permanent-object-deletion: Objekte endgültig löschen. Verwenden Sie dieses Flag zusammen mit dem Flag --delete-object, um sowohl Live- als auch nicht aktuelle Objekte in einem Bucket dauerhaft zu löschen, unabhängig von der Konfiguration der Objektversionsverwaltung des Buckets.

      • --put-metadata: Objektmetadaten aktualisieren. Objektmetadaten werden als Schlüssel/Wert-Paare gespeichert. Geben Sie das Schlüssel/Wert-Paar für die Metadaten an, die Sie ändern möchten. Sie können ein oder mehrere Schlüssel/Wert-Paare als Liste angeben. Mit dem Flag --put-metadata können Sie auch Aufbewahrungskonfigurationen für Objekte festlegen. Geben Sie dazu die Aufbewahrungsparameter mit den Feldern Retain-Until und Retention-Mode an. Beispiel:

        gcloud storage batch-operations jobs create my-job --bucket=my-bucket --manifest=manifest.csv --put-metadata=Retain-Until=RETAIN_UNTIL_TIME, Retention-Mode=RETENTION_MODE
        • RETAIN_UNTIL_TIME ist das Datum und die Uhrzeit im RFC 3339-Format, bis zu der das Objekt aufbewahrt wird. Beispiel: 2025-10-09T10:30:00Z. Wenn Sie die Aufbewahrungskonfiguration für ein Objekt festlegen möchten, müssen Sie die Aufbewahrung für den Bucket aktivieren, der das Objekt enthält.

        • RETENTION_MODE ist der Aufbewahrungsmodus, entweder Unlocked oder Locked.

          Wenn Sie eine Anfrage zum Aktualisieren der Felder RETENTION_MODE und RETAIN_UNTIL_TIME senden, beachten Sie Folgendes:

          • Wenn Sie die Konfiguration für die Objektaufbewahrung aktualisieren möchten, müssen Sie nicht leere Werte für die Felder RETENTION_MODE und RETAIN_UNTIL_TIME angeben. Wenn Sie nur eines festlegen, führt dies zu einem INVALID_ARGUMENT-Fehler.
          • Sie können den RETAIN_UNTIL_TIME-Wert für Objekte sowohl im Unlocked- als auch im Locked-Modus erweitern.
          • Die Objektaufbewahrung muss im Unlocked-Modus sein, wenn Sie Folgendes tun möchten:

            • Reduzieren Sie den Wert von RETAIN_UNTIL_TIME.
            • Entfernen Sie die Aufbewahrungskonfiguration. Wenn Sie die Konfiguration entfernen möchten, müssen Sie für die Felder RETENTION_MODE und RETAIN_UNTIL_TIME leere Werte angeben. Beispiel:

              gcloud storage batch-operations jobs create my-job --bucket=my-bucket --manifest=manifest.csv --put-metadata=Retain-Until=,Retention-Mode=
          • Wenn Sie sowohl das Feld RETENTION_MODE als auch das Feld RETAIN_UNTIL_TIME weglassen, bleibt die Aufbewahrungskonfiguration unverändert.

        • --rewrite-object: Aktualisieren Sie die vom Kunden verwalteten Verschlüsselungsschlüssel für ein oder mehrere Objekte.

        • --put-object-event-based-hold: Eventbasierte Objektsperren aktivieren.

        • --no-put-object-event-based-hold: Deaktivieren Sie ereignisbasierte Aufbewahrungen von Objekten.

        • --put-object-temporary-hold: Temporäre Objektsperren aktivieren.

        • --no-put-object-temporary-hold: Deaktivieren Sie temporäre Objektreservierungen.

    • Clientbibliotheken

      C++

      Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.

      Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

      [](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

      Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.

      Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

      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());
      }

      REST APIs

      JSON-API

      1. Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den Authorization-Header zu generieren.

      2. Erstellen Sie eine JSON-Datei mit den Einstellungen für den Storage-Batchvorgangsjob. Folgende Einstellungen können verwendet werden:

        {
            "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
            }
            }
             

        Wobei:

        • JOB_NAME ist der Name des Jobs für Speicher-Batchvorgänge.

        • JOB_DESCRIPTION ist die Beschreibung des Jobs für Speicher-Batchvorgänge.

        • BUCKET_NAME ist der Name des Buckets, der ein oder mehrere Objekte enthält, die Sie verarbeiten möchten.

        • Verwenden Sie eines der folgenden Attribute in der JSON-Datei, um die Objekte anzugeben, die Sie verarbeiten möchten:

          • MANIFEST_LOCATION ist der Speicherort des Manifests. Beispiel: gs://bucket_name/path/object_name.csv

          • OBJECT_PREFIXES ist die durch Kommas getrennte Liste mit einem oder mehreren Objektpräfixen. Wenn Sie alle Objekte abgleichen möchten, verwenden Sie eine leere Liste.

        • Geben Sie je nach dem Job, den Sie verarbeiten möchten, eine der folgenden Optionen an:

          • Objekte löschen:

            "DeleteObject":
            {
            "permanent_object_deletion_enabled": OBJECT_DELETION_VALUE
            }

            Dabei ist OBJECT_DELETION_VALUE TRUE, um Objekte zu löschen.

          • So aktualisieren Sie den vom Kunden verwalteten Verschlüsselungsschlüssel für Objekte:

            "RewriteObject":
            {
            "kms_key": KMS_KEY_VALUE
            }

            Dabei ist KMS_KEY_VALUE der Wert des KMS-Schlüssels des Objekts, den Sie aktualisieren möchten.

          • Objektmetadaten aktualisieren:

            "PutMetadata": {
             "METADATA_KEY": "METADATA_VALUE",
             ...,
            "objectRetention": {
               "retainUntilTime": "RETAIN_UNTIL_TIME",
               "mode": "RETENTION_MODE"
             }
            }

            Wobei:

            • METADATA_KEY/VALUE ist das Schlüssel/Wert-Paar der Metadaten des Objekts. Sie können ein oder mehrere Paare angeben.
            • RETAIN_UNTIL_TIME ist das Datum und die Uhrzeit im RFC 3339-Format, bis zu der das Objekt aufbewahrt wird. Beispiel: 2025-10-09T10:30:00Z. Wenn Sie die Aufbewahrungskonfiguration für ein Objekt festlegen möchten, müssen Sie die Aufbewahrung für den Bucket aktivieren, der das Objekt enthält.
            • RETENTION_MODE ist der Aufbewahrungsmodus, entweder Unlocked oder Locked.

              Wenn Sie eine Anfrage zum Aktualisieren der Felder RETENTION_MODE und RETAIN_UNTIL_TIME senden, beachten Sie Folgendes:

              • Wenn Sie die Konfiguration für die Objektaufbewahrung aktualisieren möchten, müssen Sie nicht leere Werte für die Felder RETENTION_MODE und RETAIN_UNTIL_TIME angeben. Wenn Sie nur eines festlegen, führt dies zu einem INVALID_ARGUMENT-Fehler.
              • Sie können den RETAIN_UNTIL_TIME-Wert für Objekte sowohl im Unlocked- als auch im Locked-Modus erweitern.
              • Die Objektaufbewahrung muss im Unlocked-Modus sein, wenn Sie Folgendes tun möchten:

                • Reduzieren Sie den Wert von RETAIN_UNTIL_TIME.
                • Entfernen Sie die Aufbewahrungskonfiguration. Wenn Sie die Konfiguration entfernen möchten, müssen Sie für die Felder RETENTION_MODE und RETAIN_UNTIL_TIME leere Werte angeben. Beispiel:

                  gcloud storage batch-operations jobs create my-job --bucket=my-bucket --manifest=manifest.csv --put-metadata=Retain-Until=,Retention-Mode=
              • Wenn Sie sowohl das Feld RETENTION_MODE als auch das Feld RETAIN_UNTIL_TIME weglassen, bleibt die Aufbewahrungskonfiguration unverändert.

            • Objekt-Holds aktualisieren:

              "PutObjectHold": {
              "temporary_hold": TEMPORARY_HOLD_VALUE,
              "event_based_hold": EVENT_BASED_HOLD_VALUE
              }

              Wobei:

              • TEMPORARY_HOLD_VALUE wird verwendet, um den temporären Objekthold zu aktivieren oder zu deaktivieren. Ein Wert von 1 aktiviert die Zurückstellung und ein Wert von 2 deaktiviert sie.

              • EVENT_BASED_HOLD_VALUE wird verwendet, um den ereignisbasierten Objekt-Hold zu aktivieren oder zu deaktivieren. Ein Wert von 1 aktiviert die Zurückstellung und ein Wert von 2 deaktiviert sie.

        • Verwenden Sie cURL, um die JSON API mit einer POST-Speicher-Batchvorgangsaufgabe aufzurufen:

          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_ID"

          Wobei:

          • JSON_FILE_NAME ist der Name der JSON-Datei.
          • PROJECT_ID ist die ID oder Nummer des Projekts. Beispiel: my-project.
          • JOB_ID ist der Name des Jobs für Speicher-Batchvorgänge.

Details zu Jobs für Speicher-Batchvorgänge abrufen

In diesem Abschnitt wird beschrieben, wie Sie die Jobdetails für Speicher-Batchvorgänge abrufen.

Befehlszeile

  1. In the Google Cloud console, activate Cloud Shell.

    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.

  2. Führen Sie in Ihrer Entwicklungsumgebung den Befehl gcloud storage batch-operations jobs describe aus.

    gcloud storage batch-operations jobs describe JOB_ID

    Wobei:

    JOB_ID ist der Name des Jobs für Speicher-Batchvorgänge.

  3. Clientbibliotheken

    C++

    Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.

    Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

    [](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

    Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.

    Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

    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());
    }

    REST APIs

    JSON-API

    1. Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den Authorization-Header zu generieren.

    2. Verwenden Sie cURL, um die JSON API mit einer GET-Anfrage für Batchvorgänge für Speicher aufzurufen:

      curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"

      Wobei:

      • PROJECT_ID ist die ID oder Nummer des Projekts. Beispiel: my-project.
      • JOB_ID ist der Name des Jobs für Speicher-Batchvorgänge.

Batchvorgangsjobs für Speicher auflisten

In diesem Abschnitt wird beschrieben, wie Sie die Jobs für Speicher-Batchvorgänge in einem Projekt auflisten.

Befehlszeile

  1. In the Google Cloud console, activate Cloud Shell.

    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.

  2. Führen Sie in Ihrer Entwicklungsumgebung den Befehl gcloud storage batch-operations jobs list aus.

    gcloud storage batch-operations jobs list
  3. Clientbibliotheken

    C++

    Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.

    Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

    [](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

    Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.

    Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

    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());
        }
    }

    REST APIs

    JSON-API

    1. Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den Authorization-Header zu generieren.

    2. Verwenden Sie cURL, um die JSON API mit einer LIST-Anfrage für Batchvorgänge für Speicher aufzurufen:

      curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs"

      Wobei:

      PROJECT_ID ist die ID oder Nummer des Projekts. Beispiel: my-project.

Job für Speicher-Batchvorgänge abbrechen

In diesem Abschnitt wird beschrieben, wie Sie einen Storage-Batchvorgangsjob in einem Projekt abbrechen.

Befehlszeile

  1. In the Google Cloud console, activate Cloud Shell.

    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.

  2. Führen Sie in Ihrer Entwicklungsumgebung den Befehl gcloud storage batch-operations jobs cancel aus.

    gcloud storage batch-operations jobs cancel JOB_ID

    Wobei:

    JOB_ID ist der Name des Jobs für Speicher-Batchvorgänge.

  3. Clientbibliotheken

    C++

    Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.

    Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

    [](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

    Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.

    Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

    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);
    }

    REST APIs

    JSON-API

    1. Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den Authorization-Header zu generieren.

    2. Verwenden Sie cURL, um die JSON API mit einer CANCEL-Anfrage für einen Speicher-Batchvorgang aufzurufen:

      curl -X CANCEL \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"

      Wobei:

      • PROJECT_ID ist die ID oder Nummer des Projekts. Beispiel: my-project.

      • JOB_ID ist der Name des Jobs für Speicher-Batchvorgänge.

Job für Speicher-Batchvorgänge löschen

In diesem Abschnitt wird beschrieben, wie Sie einen Job für Speicher-Batchvorgänge löschen.

Befehlszeile

  1. In the Google Cloud console, activate Cloud Shell.

    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.

  2. Führen Sie in Ihrer Entwicklungsumgebung den Befehl gcloud storage batch-operations jobs delete aus.

    gcloud storage batch-operations jobs delete JOB_ID

    Wobei:

    JOB_ID ist der Name des Jobs für Speicher-Batchvorgänge.

  3. Clientbibliotheken

    C++

    Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.

    Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

    [](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

    Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.

    Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

    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);
    }

    REST APIs

    JSON-API

    1. Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den Authorization-Header zu generieren.

    2. Verwenden Sie cURL, um die JSON API mit einer DELETE-Anfrage für einen Speicher-Batchvorgang aufzurufen:

      curl -X DELETE \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"

      Wobei:

      • PROJECT_ID ist die ID oder Nummer des Projekts. Beispiel: my-project.

      • JOB_ID ist der Name des Jobs für Speicher-Batchvorgänge.

Job für Speicher-Batchvorgänge mit Storage Insights-Datasets erstellen

Führen Sie die Schritte in den folgenden Abschnitten aus, um einen Batchvorgang für Speicher mit Storage Insights-Datasets zu erstellen.

Manifest mit Storage Insights-Datasets erstellen

Sie können das Manifest für Ihren Storage-Batchvorgangsjob erstellen, indem Sie Daten aus BigQuery extrahieren. Dazu müssen Sie das verknüpfte Dataset abfragen, die resultierenden Daten als CSV-Datei exportieren und in einem Cloud Storage-Bucket speichern. Der Job für Speicher-Batchvorgänge kann diese CSV-Datei dann als Manifest verwenden.

Wenn Sie die folgende SQL-Abfrage in BigQuery für eine Dataset-Ansicht von Storage Insights ausführen, werden Objekte abgerufen, die größer als 1 KiB sind und den Namen Temp_Training haben:

  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
  

Wobei:

  • URI ist der URI des Buckets, der das Manifest enthält. Beispiel: gs://bucket_name/path_to_csv_file/*.csv. Wenn Sie den Platzhalter *.csv verwenden, exportiert BigQuery das Ergebnis in mehrere CSV-Dateien.
  • OVERWRITE_VALUE ist ein boolescher Wert. Wenn der Wert auf true festgelegt ist, werden vorhandene Dateien am angegebenen Speicherort durch den Exportvorgang überschrieben.
  • DATASET_VIEW_NAME ist der vollständig qualifizierte Name der Storage Insights-Datasetansicht im Format PROJECT_ID.DATASET_ID.VIEW_NAME. So finden Sie den Namen Ihres Datasets

    Wobei:

    • PROJECT_ID ist die ID oder Nummer des Projekts. Beispiel: my-project.
    • DATASET_ID ist der Name des Datasets. Beispiel: objects-deletion-dataset.
    • VIEW_NAME ist der Name der Dataset-Ansicht. Beispiel: bucket_attributes_view.
  • BUCKET_NAME ist der Name des Buckets. Beispiel: my-bucket.

  • SNAPSHOT_TIME ist der Snapshot-Zeitpunkt der Storage Insights-Datasetansicht. Beispiel: 2024-09-10T00:00:00Z.

Job für Speicher-Batchvorgänge erstellen

So erstellen Sie einen Speicher-Batchvorgangsjob zum Verarbeiten von Objekten, die im Manifest enthalten sind:

Befehlszeile

  1. In the Google Cloud console, activate Cloud Shell.

    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.

  2. Führen Sie in Ihrer Entwicklungsumgebung den Befehl gcloud storage batch-operations jobs create aus:

    gcloud storage batch-operations jobs create \
    JOB_ID \
    --bucket=SOURCE_BUCKET_NAME \
    --manifest-location=URI \
    --JOB_TYPE_FLAG

    Wobei:

    • JOB_ID ist der Name des Jobs für Speicher-Batchvorgänge.

    • SOURCE_BUCKET_NAME ist der Bucket, der ein oder mehrere Objekte enthält, die Sie verarbeiten möchten. Beispiel: my-bucket.

    • URI ist der URI des Buckets, der das Manifest enthält. Beispiel: gs://bucket_name/path_to_csv_file/*.csv. Wenn Sie den Platzhalter *.csv verwenden, exportiert BigQuery das Ergebnis in mehrere CSV-Dateien.

    • JOB_TYPE_FLAG ist je nach Jobtyp eines der folgenden Flags.

Einbindung in VPC Service Controls

Mit VPC Service Controls können Sie eine zusätzliche Sicherheitsebene für Ressourcen für Storage-Batchvorgänge einrichten. Wenn Sie VPC Service Controls verwenden, fügen Sie Projekte zu Dienstperimetern hinzu, die Ressourcen und Dienste vor Anfragen schützen, die ihren Ursprung außerhalb des Perimeters haben. Weitere Informationen zu den Details von VPC Service Controls-Dienstperimetern für Storage-Batchvorgänge finden Sie unter Unterstützte Produkte und Einschränkungen.

Cloud-Audit-Logs für Speicher-Batchvorgänge verwenden

Bei Jobs für Speicher-Batchvorgänge werden Transformationen von Cloud Storage-Objekten in Cloud-Audit-Logs für Cloud Storage aufgezeichnet. Mit Cloud-Audit-Logs für Cloud Storage können Sie die Objekttransformationen nachverfolgen, die von Batchvorgängen für Speicher ausgeführt werden. Informationen zum Aktivieren von Audit-Logs finden Sie unter Audit-Logs aktivieren. Im Audit-Log-Eintrag gibt das Metadatenfeld callUserAgent mit dem Wert StorageBatchOperations eine Transformation von Storage-Batchvorgängen an.

Nächste Schritte