Jobs für Batchvorgänge erstellen und verwalten

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

Hinweise

Führen Sie die Schritte in den folgenden Abschnitten aus, um Jobs für Batch-Vorgänge für die Speicherung zu erstellen und zu verwalten.

Storage Intelligence konfigurieren

Wenn Sie Jobs für Batch-Speichervorgänge erstellen und verwalten möchten, konfigurieren Sie Storage Intelligence für den Bucket, in dem der Job ausgeführt werden soll.

Google Cloud CLI einrichten

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

Standardprojekt festlegen

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

gcloud config set project PROJECT_ID

Dabei entspricht PROJECT_ID der ID des Projekts.

API aktivieren

Aktivieren Sie die API für Batch-Vorgänge für die Speicherung.

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 Batch-Speichervorgänge erstellen

In diesem Abschnitt wird beschrieben, wie Sie einen Job für Batch-Speichervorgä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 Batch-Speichervorgänge.
    • BUCKET_NAME ist der Name des Buckets, der ein oder mehrere Objekte enthält, die Sie verarbeiten möchten.
    • OBJECT_SELECTION_FLAG ist einer der folgenden Flags:

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

        • Wenn Sie einen Abgleich mit einem einzelnen Präfix vornehmen 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 eine der folgenden Flags.

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

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

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

      • --put-object-event-based-hold: Aktivieren Sie ereignisbasierte Objektsperren.

      • --no-put-object-event-based-hold: Deaktivieren Sie ereignisbasierte Objektsperren.

      • --put-object-temporary-hold: Aktivieren Sie temporäre Objektsperren.

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

REST APIs

JSON API

  1. Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header Authorization zu generieren.

  2. Erstellen Sie eine JSON-Datei mit den Einstellungen für den Batch-Vorgang für die Speicherung. 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,
          ...,
          }
        "PutObjectHold": {
          "temporary_hold": TEMPORARY_HOLD_VALUE,
          "event_based_hold": EVENT_BASED_HOLD_VALUE
        }
     }
         

    Wobei:

    • JOB_NAME ist der Name des Jobs für Batch-Speichervorgänge.

    • JOB_DESCRIPTION ist die Beschreibung des Jobs für Batch-Speichervorgänge.

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

    • Verwenden Sie in der JSON-Datei eines der folgenden Attribute, um die zu verarbeitenden Objekte anzugeben:

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

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

    • Wählen Sie je nach Job, den Sie verarbeiten möchten, eine der folgenden Optionen aus:

      • So löschen Sie Objekte:

        "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, das Sie aktualisieren möchten.

      • Objektmetadaten aktualisieren:

        "PutMetadata": {
        METADATA_KEY= METADATA_VALUE,
        ...,
        }

        Dabei ist METADATA_VALUE der Schlüsselwert der Metadaten des Objekts. Sie können ein oder mehrere Schlüssel/Wert-Paare als Liste angeben.

      • Aktualisieren Sie die Objekt-Holds:

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

        Wobei:

        • Mit TEMPORARY_HOLD_VALUE wird die vorübergehende Objektsperre aktiviert oder deaktiviert. Der Wert 1 aktiviert die Warteschleife und der Wert 2 deaktiviert sie.

        • Mit EVENT_BASED_HOLD_VALUE wird der ereignisbasierte Objekt-Hold aktiviert oder deaktiviert. Mit dem Wert 1 wird die Warteschleife aktiviert und mit dem Wert 2 deaktiviert.

  3. Verwenden Sie cURL, um die JSON API mit einer POST-Anfrage für einen Batch-Vorgang 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/project=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 Batch-Speichervorgänge.

Jobdetails zu Batch-Speichervorgängen abrufen

In diesem Abschnitt wird beschrieben, wie Sie die Jobdetails für Batch-Vorgänge im Speicher 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 Batch-Speichervorgänge.

REST APIs

JSON API

  1. Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header Authorization zu generieren.

  2. Verwenden Sie cURL, um die JSON API mit einer GET-Anfrage für einen Batch-Vorgang 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 Batch-Speichervorgänge.

Jobs für Speicher-Batchvorgänge auflisten

In diesem Abschnitt wird beschrieben, wie Sie die Jobs für Batch-Speichervorgä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

REST APIs

JSON API

  1. Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header Authorization zu generieren.

  2. Verwenden Sie cURL, um die JSON API mit einer LIST-Anfrage für Batch-Vorgänge für die Speicherung 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 Batch-Speichervorgänge abbrechen

In diesem Abschnitt wird beschrieben, wie Sie einen Job für Batch-Speichervorgänge 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 Batch-Speichervorgänge.

REST APIs

JSON API

  1. Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header Authorization zu generieren.

  2. Verwenden Sie cURL, um die JSON API mit einer CANCEL-Anfrage für einen Batch-Vorgang für die Speicherung 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 Batch-Speichervorgänge.

Job für Batch-Speichervorgänge löschen

In diesem Abschnitt wird beschrieben, wie Sie einen Job für Batch-Vorgänge für die Speicherung 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 Batch-Speichervorgänge.

REST APIs

JSON API

  1. Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header Authorization zu generieren.

  2. Verwenden Sie cURL, um die JSON API mit einer DELETE-Anfrage für einen Batch-Vorgang 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 Batch-Speichervorgänge.

Job für Batch-Speichervorgänge mit Storage Insights-Datasets erstellen

Führen Sie die Schritte in den folgenden Abschnitten aus, um einen Job für Batch-Speichervorgänge mit Storage Insights-Datensätzen zu erstellen.

Manifest mit Storage Insights-Datasets erstellen

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

Wenn Sie die folgende SQL-Abfrage in BigQuery auf einer Storage Insights-Datasetansicht ausführen, werden Objekte mit einer Größe von mehr als 1 KiB mit dem Namen Temp_Training abgerufen:

  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 dieser Wert auf true festgelegt ist, werden vorhandene Dateien am angegebenen Speicherort überschrieben.
  • DATASET_VIEW_NAME ist der vollständig qualifizierte Name der Storage Insights-Datasetansicht im PROJECT_ID.DATASET_ID.VIEW_NAME-Format. Den Namen Ihres Datasets finden Sie im verknüpften Dataset.

    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 Datensatzansicht. Beispiel: bucket_attributes_view.
  • BUCKET_NAME ist der Name des Buckets. Beispiel: my-bucket.

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

Job für Batch-Speichervorgänge erstellen

So erstellen Sie einen Job für Batch-Speichervorgänge, um die im Manifest enthaltenen Objekte zu verarbeiten:

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 Batch-Speichervorgä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 eine der folgenden Flags.

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

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

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

      • --put-object-event-based-hold: Aktiviere ereignisbasierte Objektsperren.

      • --no-put-object-event-based-hold: Deaktivieren Sie ereignisbasierte Objektsperren.

      • --put-object-temporary-hold: Aktivieren Sie temporäre Objektsperren.

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

Cloud-Audit-Logs für Jobs mit Batch-Speichervorgängen verwenden

Bei Jobs für Batch-Vorgänge in Cloud Storage werden Transformationen an Cloud Storage-Objekten in Cloud-Audit-Logs für Cloud Storage aufgezeichnet. Sie können Cloud-Audit-Logs mit Cloud Storage verwenden, um die Objekttransformationen zu erfassen, die von Jobs für Batch-Vorgänge 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 für Batch-Speichervorgänge an.

Nächste Schritte