Auf dieser Seite wird beschrieben, wie Sie Jobs für Batchvorgänge für Speicher 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 Storage-Batchvorgänge erstellen und verwalten möchten, müssen Sie Storage Intelligence für den Bucket konfigurieren, 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 Batchvorgangsjob für den Speicher 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 Batchvorgänge für Speicher.
gcloud services enable storagebatchoperations.googleapis.com
Manifest erstellen
Wenn Sie ein Manifest für die Objektauswahl verwenden möchten, erstellen Sie ein Manifest.
Storage-Batchvorgangsjob erstellen
In diesem Abschnitt wird beschrieben, wie Sie einen Job für Storage-Batchvorgänge erstellen.
Befehlszeile
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
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 Storage-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 nur ein 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 einbeziehen möchten, verwenden Sie ein leeres Präfix:
--included-object-prefixes=''
.
- Wenn Sie nur ein Präfix abgleichen möchten, verwenden Sie:
--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.--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
: Eventbasierte Aufbewahrungspflichten für Objekte aktivieren.--no-put-object-event-based-hold
: Deaktivieren Sie ereignisbasierte Objekt-Holds.--put-object-temporary-hold
: Temporäre Objekt-Holds aktivieren.--no-put-object-temporary-hold
: Deaktivieren Sie temporäre Objektreservierungen.
REST APIs
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.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, ..., } "PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE } }
Wobei:
JOB_NAME
ist der Name des Jobs für Storage-Batchvorgänge.JOB_DESCRIPTION
ist die Beschreibung des Jobs für Storage-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 zu verarbeitenden Objekte anzugeben:
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. Verwenden Sie eine leere Liste, um alle Objekte abzugleichen.
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.Vom Kunden verwalteten Verschlüsselungsschlüssel für Objekte aktualisieren:
"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, ..., }
Dabei ist
METADATA_VALUE
der Schlüsselwert der Metadaten des Objekts. Sie können ein oder mehrere Schlüssel/Wert-Paare als Liste angeben.Objekt-Holds aktualisieren:
"PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE }
Wobei:
Mit
TEMPORARY_HOLD_VALUE
wird die temporäre Objektreservierung aktiviert oder deaktiviert. Ein Wert von1
aktiviert die Zurückstellung und ein Wert von2
deaktiviert sie.EVENT_BASED_HOLD_VALUE
wird verwendet, um den ereignisbasierten Objekt-Hold zu aktivieren oder zu deaktivieren. Ein Wert von1
aktiviert die Zurückstellung und ein Wert von2
deaktiviert sie.
Verwenden Sie
cURL
, um die JSON API mit einerPOST
-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/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 Storage-Batchvorgänge.
Details zu Storage-Batchvorgangsjobs abrufen
In diesem Abschnitt wird beschrieben, wie Sie die Jobdetails für Storage-Batchvorgänge abrufen.
Befehlszeile
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
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 Storage-Batchvorgänge.
REST APIs
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Verwenden Sie
cURL
, um die JSON API mit einer Anfrage für einenGET
-Speicher-Batchvorgang 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 Storage-Batchvorgänge.
Storage-Batchvorgangsjobs auflisten
In diesem Abschnitt wird beschrieben, wie Sie die Jobs für Storage-Batchvorgänge in einem Projekt auflisten.
Befehlszeile
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
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
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Verwenden Sie
cURL
, um die JSON API mit einer Anfrage fürLIST
-Speicher-Batchvorgänge 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
.
Storage-Batchvorgangsjob abbrechen
In diesem Abschnitt wird beschrieben, wie Sie einen Storage-Batchvorgangsjob in einem Projekt abbrechen.
Befehlszeile
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
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 Storage-Batchvorgänge.
REST APIs
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Verwenden Sie
cURL
, um die JSON API mit einerCANCEL
-Anfrage für einen Speichervorgang im Batch 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 Storage-Batchvorgänge.
Storage-Batchvorgangsjob löschen
In diesem Abschnitt wird beschrieben, wie Sie einen Job für Storage-Batchvorgänge löschen.
Befehlszeile
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
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 Storage-Batchvorgänge.
REST APIs
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Verwenden Sie
cURL
, um die JSON API mit einerDELETE
-Anfrage für einen Speichervorgang im Batch 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 Storage-Batchvorgänge.
Speicher-Batchvorgangsjob 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 Batchvorgangsjob für den Speicher 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 auftrue
gesetzt 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 FormatPROJECT_ID.DATASET_ID.VIEW_NAME
. So finden Sie den Namen Ihres DatasetsWobei:
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
.
Storage-Batchvorgangsjob erstellen
So erstellen Sie einen Speicher-Batchvorgangsjob zum Verarbeiten von Objekten, die im Manifest enthalten sind:
Befehlszeile
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
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 Storage-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.--delete-object
: Löscht 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
: Eventbasierte Aufbewahrungspflichten für Objekte aktivieren.--no-put-object-event-based-hold
: Deaktivieren Sie ereignisbasierte Objekt-Holds.--put-object-temporary-hold
: Temporäre Objekt-Holds aktivieren.--no-put-object-temporary-hold
: Deaktivieren Sie temporäre Objektreservierungen.
VPC Service Controls einbinden
Mit VPC Service Controls können Sie eine zusätzliche Sicherheitsebene für Ressourcen für Storage-Batchvorgänge bereitstellen. Wenn Sie VPC Service Controls verwenden, fügen Sie Projekte in Dienstperimeter ein, 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 Storage-Batchvorgängen werden Transformationen von Cloud Storage-Objekten in Cloud Storage-Cloud-Audit-Logs aufgezeichnet. Mit Cloud-Audit-Logs für Cloud Storage können Sie die Objekttransformationen nachverfolgen, die von Storage-Batchvorgangs-Jobs 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.