Auf dieser Seite wird beschrieben, wie Sie Jobs für Storage-Batchvorgänge erstellen, ansehen, auflisten, abbrechen und löschen. Außerdem wird beschrieben, wie Sie Cloud-Audit-Logs mit Storage-Batchvorgangsjobs verwenden.
Hinweis
Führen Sie die Schritte in den folgenden Abschnitten aus, um Jobs für Storage-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.
Storage-Batchvorgänge – 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 eine Manifestdatei. Ein Manifest ist eine der Möglichkeiten, Objekte für die Verarbeitung in einem Storage-Batchvorgangsjob auszuwählen.
Job für Storage-Batchvorgänge erstellen
In diesem Abschnitt wird beschrieben, wie Sie einen Job für Storage-Batchvorgänge erstellen.
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Storage-Administrator (roles/storage.admin) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Jobs für Storage-Batchvorgänge benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Console
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
Klicken Sie in der Liste der Buckets auf den Namen des Buckets, der die Objekte enthält, für die Sie Batchvorgänge ausführen möchten.
Die Seite Bucket-Details wird geöffnet und der Tab Objekte ist ausgewählt.
- Klicken Sie auf Batchvorgänge erstellen.
- Wählen Sie im Bereich Vorgang auswählen den Vorgangstyp aus:
- Objekt-Holds verwalten: Wählen Sie Temporärer Hold oder Ereignisbasierter Hold aus. Weitere Informationen finden Sie unter Objekt-Holds.
- Objektmetadaten aktualisieren: So fügen Sie Objektmetadaten hinzu:
- So fügen Sie benutzerdefinierte Metadaten hinzu:
- Geben Sie im Feld Schlüssel einen Schlüsselnamen ein.
- Geben Sie im Feld Wert einen Wert für diesen Schlüssel ein.
- Optional: Klicken Sie auf + Element hinzufügen, um weitere Schlüssel/Wert-Paare hinzuzufügen.
- So aktualisieren Sie Metadaten mit festen Schlüsseln:
- Klicken Sie zum Maximieren des Abschnitts Metadaten mit festen Schlüsseln aktualisieren auf den Erweiterungspfeil.
- Wählen Sie in der Liste Wählen Sie mindestens einen Satz Metadaten aus, der aktualisiert werden soll die Metadatenelemente aus, die Sie bearbeiten möchten.
- So fügen Sie benutzerdefinierte Metadaten hinzu:
- Verschlüsselungsschlüssel aktualisieren/rotieren: So verwenden oder aktualisieren Sie den Verschlüsselungsschlüssel für Objekte:
- Wählen Sie in der Liste Cloud KMS-Schlüssel auswählen einen vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) aus.
- Optional: Wählen Sie Projekt wechseln aus, um einen Schlüssel aus einem anderen Projekt auszuwählen, oder Schlüssel manuell eingeben, um Details einzugeben.
- Objekte löschen: So löschen Sie Objekte:
- Prüfen, ob die Objektversionsverwaltung aktiviert ist.
Wenn die Objektversionsverwaltung aktiviert ist, wählen Sie eine der folgenden Löschoptionen aus:
- Wählen Sie Alle Versionen der Objekte löschen aus, um sowohl Live- als auch nicht aktuelle Versionen zu entfernen.
- Wählen Sie Live-Versionen dauerhaft löschen aus, um nur die Live-Version zu entfernen.
Wenn die Objektversionsverwaltung nicht aktiviert ist, werden alle zum Löschen ausgewählten Objekte dauerhaft gelöscht.
- Klicken Sie auf Weiter.
- Führen Sie im Bereich Vorgang benennen und Objekte angeben die folgenden Schritte aus:
- Geben Sie im Feld Name einen Namen ein.
- Optional: Geben Sie im Feld Beschreibung eine Beschreibung ein.
- Definieren Sie im Abschnitt Objekte angeben ein Kriterium zum Verarbeiten von Objekten aus dem Bucket. Wählen Sie eine der folgenden Optionen aus:
- Alle Objekte auswählen: Bezieht alle Objekte im Bucket ein.
- Objekte mithilfe von Präfixfiltern auswählen: So definieren Sie die Liste der Objekte mithilfe von Präfixfiltern:
- Geben Sie im Feld Präfixe der Objekte eingeben, die eingeschlossen werden sollen ein Präfix ein.
- Optional: Klicken Sie auf + Präfix hinzufügen, um weitere Präfixe anzugeben.
- Listen von Objekten mithilfe von CSV-Manifestdateien hochladen: So verwenden Sie eine Manifestdatei, um Objekte auszuwählen:
- Laden Sie die CSV-Manifestdatei in einen Bucket hoch. Diese Datei muss die Header Bucket-Name, Objektschlüssel und Generationsnummer enthalten.
- Wählen Sie in der Liste Modus für Manifestdatei auswählen eine der folgenden Optionen aus:
- Wenn Sie Manifestdatei in Cloud Storage auswählen auswählen, klicken Sie im Feld Manifestdatei in Cloud Storage auswählen auf Durchsuchen. Suchen Sie im Dialogfeld Objekt auswählen nach Ihrer Manifest-CSV-Datei und klicken Sie dann auf Auswählen.
- Wenn Sie Mehrere Manifestdateien mit Platzhalter auswählen auswählen, geben Sie den Dateipfad im Feld Speicherort der Manifestdatei mit Platzhalter eingeben ein. Beispiel:
bucket-name/folder/manifest_*
- Klicken Sie auf Erstellen.
Befehlszeile
Sie können eine der folgenden Quellkonfigurationen auswählen, um die Liste der Objekte für Ihren Batchvorgangsjob zu definieren:
- Projekt als Quelle: Es werden Objekte für ein Projekt mit einer Storage Insights-Dataset-Konfiguration ausgewählt. Anstatt einzelne Buckets oder Präfixe anzugeben, können Sie erweiterte Filterparameter wie
--insights-dataset-config,--target-project,--bucket-filtersund--object-filtersangeben. Weitere Informationen finden Sie unter Job mit erweiterten Filtern erstellen. - Buckets als Quelle: Richtet sich auf Objekte in bestimmten Buckets aus. Sie müssen eines der folgenden Flags angeben:
--bucketoder--bucket-list, um die Ziel-Buckets zu definieren.- Eine Manifest-CSV-Datei (
--manifest-location) oder Objektpräfixe (--included-object-prefixes) zum Definieren der Zielobjekte.
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Google Cloud CLI-Version 516.0.0 oder höher verwenden.
Führen Sie den Befehl
gcloud config set projectaus, um das Standardprojekt festzulegen:gcloud config set project PROJECT_ID
Dabei ist PROJECT_ID die ID Ihres Projekts.
Optional: Führen Sie einen Probelauf aus. Bevor Sie einen Job ausführen, sollten Sie ihn im Probelaufmodus ausführen, um die Objektauswahlkriterien zu prüfen und nach Fehlern zu suchen. Beim Probelauf werden keine Objekte geändert.
Führen Sie in Ihrer Entwicklungsumgebung den Befehl
gcloud storage batch-operations jobs createmit dem Flag--dry-runaus:gcloud storage batch-operations jobs create DRY_RUN_JOB_NAME \ {--bucket=BUCKET | --bucket-list=BUCKET_LIST} OBJECT_SELECTION_FLAG JOB_TYPE_FLAG \ --dry-runWobei:
DRY_RUN_JOB_NAMEist der Name des Jobs für den Probelauf von Storage-Batchvorgängen.
Die anderen Parameter sind dieselben wie für den tatsächlichen Job. Weitere Informationen finden Sie unter Parameterbeschreibungen.
Informationen zum Aufrufen der Ergebnisse des Probelaufs finden Sie unter Details zu Storage-Batchvorgangsjobs abrufen.
Führen Sie nach einem erfolgreichen Probelauf den Befehl
gcloud storage batch-operations jobs createaus.gcloud storage batch-operations jobs create JOB_NAME \ {--bucket=BUCKET | --bucket-list=BUCKET_LIST} OBJECT_SELECTION_FLAG JOB_TYPE_FLAGDie Parameter sind wie folgt:
JOB_NAMEist der Name des Jobs für Storage-Batchvorgänge.--bucket:BUCKETist der Name des Buckets, der die zu verarbeitenden Objekte enthält.--bucket-list:BUCKET_LISTist eine durch Kommas getrennte Liste mit einem oder mehreren Bucket-Namen, die die zu verarbeitenden Objekte enthalten. Sie können bis zu 1.000 Buckets aus einem beliebigen Projekt angeben, sofern für jeden Bucket ein Storage Intelligence-Abo abgeschlossen ist.OBJECT_SELECTION_FLAGist eines der folgenden Flags, die Sie angeben müssen:--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 kommagetrennte Präfixliste:
--included-object-prefixes='prefix1,prefix2'. - Wenn Sie alle Objekte einschließen möchten, verwenden Sie ein leeres Präfix:
--included-object-prefixes=''.
- Wenn Sie ein einzelnes 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_FLAGist eines der folgenden Flags, die Sie je nach Jobtyp angeben müssen.--delete-object: Ein oder mehrere Objekte löschen.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.--rewrite-object: Aktualisieren Sie die kundenverwalteten Verschlüsselungsschlüssel für ein oder mehrere Objekte. Sie können dieses Flag auch verwenden, um die Speicherklasse des Objekts zu ändern, indem Sie denstorage-class-Schlüssel angeben. Unterstützte Speicherklassen sindSTANDARD,NEARLINE,COLDLINEundARCHIVE. Beispiel:--rewrite-object=storage-class=NEARLINE.--set-object-acls-from-file: Patch-Objekt-ACLs (Access Control Lists). Geben Sie eine JSON- oder YAML-Datei mit Berechtigungen an, die für Entitäten wieallUsersoderallAuthenticatedUsershinzugefügt oder aktualisiert werden sollen. Beispiel:--set-object-acls-from-file=acl-updates.yamloder--set-object-acls-from-file=acl-updates.json.Die Struktur der YAML-Datei für Updates ist wie folgt:
grants: - entity: allAuthenticatedUsers role: READER remove_entities: - allUsersDie JSON-Datei für Aktualisierungen hat folgende Struktur:
{ "grants": [ { "entity": "allAuthenticatedUsers", "role": "READER" } ], "remove_entities": [ "allUsers" ] }
--put-object-event-based-hold: Ereignisbasierte Objekt-Holds 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 Objekt-Holds.Im folgenden Beispiel wird gezeigt, wie Sie einen Job erstellen, um die Metadaten
Content-Languagefür alle inmanifest.csvaufgeführten Objekte inenzu aktualisieren.gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --put-metadata=Content-Language=en
Im folgenden Beispiel wird gezeigt, wie Sie einen Job für mehrere Buckets erstellen, um
Content-Languageaufen-uszu aktualisieren:gcloud storage batch-operations jobs create my-job \ --bucket-list=bucket1,bucket2 \ --included-object-prefixes='' \ --put-metadata=Content-Language=en-us
--put-metadata: Objektmetadaten aktualisieren. Geben Sie das Schlüssel/Wert-Paar für die Objektmetadaten an, die Sie ändern möchten. Sie können ein oder mehrere Schlüssel/Wert-Paare als Liste angeben. Sie können auch Konfigurationen für die Objektaufbewahrung mit dem Flag--put-metadatafestlegen. Geben Sie dazu die Aufbewahrungsparameter mit den FeldernRetain-UntilundRetention-Modean. Beispiel: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
Wobei:
RETAIN_UNTIL_TIMEist 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_MODEist der Aufbewahrungsmodus, entwederUnlockedoderLocked.Wenn Sie eine Anfrage zum Aktualisieren der Felder
RETENTION_MODEundRETAIN_UNTIL_TIMEsenden, 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_MODEundRETAIN_UNTIL_TIMEangeben. Wenn Sie nur eines der beiden Felder festlegen, wird der FehlerINVALID_ARGUMENTzurückgegeben. - Sie können den
RETAIN_UNTIL_TIME-Wert für Objekte sowohl imUnlocked- als auch imLocked-Modus verlängern. - Die Objektaufbewahrung muss im Modus
Unlockedsein, wenn Sie Folgendes tun möchten:- Reduzieren Sie den Wert von
RETAIN_UNTIL_TIME. - Entfernen Sie die Konfiguration für die Aufbewahrung. Wenn Sie die Konfiguration entfernen möchten, müssen Sie für die Felder
RETENTION_MODEundRETAIN_UNTIL_TIMEleere Werte angeben.
- Reduzieren Sie den Wert von
- Wenn Sie sowohl das Feld
RETENTION_MODEals auch das FeldRETAIN_UNTIL_TIMEweglassen, bleibt die Konfiguration für die Aufbewahrungsdauer unverändert.
- Wenn Sie die Konfiguration für die Objektaufbewahrung aktualisieren möchten, müssen Sie nicht leere Werte für die Felder
--clear-all-object-custom-contexts: Löschen Sie alle vorhandenen Objektkontexte.Das folgende Beispiel zeigt, wie Sie einen Job erstellen, um alle Objektkontexte für Objekte zu löschen, die in
manifest.csvaufgeführt sind: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: Kontexte mit bestimmten Schlüsseln entfernen. Sie können auch bestimmte Kontexte aktualisieren und gleichzeitig Schlüssel entfernen, indem Sie das Flag--clear-object-custom-contextsund eines der folgenden Flags verwenden:--update-object-custom-contexts: Geben Sie eine Zuordnung von Schlüssel/Wert-Paaren an.Im folgenden Beispiel wird gezeigt, wie Sie einen Job erstellen, um den Kontext mit dem Schlüssel
temp-idzu entfernen und den Kontext mit dem Schlüsselproject-idundcost-centerfür alle inmanifest.csvaufgeführten Objekte zu aktualisieren oder einzufügen: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: Geben Sie den Pfad zu einer JSON- oder YAML-Datei mit Schlüssel/Wert-Paaren an.Das folgende Beispiel zeigt, wie Sie einen Job zum Verarbeiten von Objekten erstellen, die in
manifest.csvdefiniert sind. Der Job führt folgende Schritte aus:Entfernt alle Kontexte mit dem Schlüssel
temp-id.Aktualisiert vorhandene Kontexte mit den Schlüsseln
project-idundcost-center, die in der Datei/tmp/context_updates.jsondefiniert sind.
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
Dabei enthält
/tmp/context_updates.jsondie folgenden Objektkontexte:{ "project-id": {"value": "project-A"}, "cost-center": {"value": "engineering"} }
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.
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.
JSON API
Sie können eine der folgenden Quellkonfigurationen auswählen, um die Liste der Objekte für Ihren Batchvorgangsjob zu definieren:
- Projekt als Quelle: Es werden Objekte im gesamten Projekt mit einer
projectSource-Konfiguration als Ziel verwendet. Anstatt einzelne Buckets oder Präfixe aufzulisten, geben Sie erweiterte Filterparameter an, um Metadaten zu Storage Insights dynamisch abzufragen. Weitere Informationen finden Sie auf dem Tab „JSON API“ unter Job mit erweiterten Filtern erstellen. - Buckets als Quelle: Richtet sich mit einer
bucketList-Konfiguration auf Objekte in bestimmten Buckets. Sie müssen die Ziel-Buckets und entweder eine Manifest-CSV-Datei (manifest_location) oder Objektpräfixe (include_object_prefixes) angeben.
Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den
Authorization-Header zu generieren.Erstellen Sie eine JSON-Datei mit den Einstellungen für den Job für Storage-Batchvorgänge. 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", "storage_class":"STORAGE_CLASS_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 }, "SetObjectAcls": { "accessControlsUpdates": { "grants": [ { "entity": "allUsers", "role": "READER" } ], "removeEntities": ["allAuthenticatedUsers"] } }, "dryRun": DRY_RUN_VALUE }
Where:JOB_NAMEist der Name des Jobs für Storage-Batchvorgänge.JOB_DESCRIPTIONist die Beschreibung des Jobs für Storage-Batchvorgänge.BUCKET_NAMEist 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_LOCATIONist der Speicherort des Manifests. Beispiel:gs://bucket_name/path/object_name.csvOBJECT_PREFIXESist 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_VALUETRUE, um Objekte zu löschen.So aktualisieren Sie den kundenverwalteten Verschlüsselungsschlüssel für Objekte:
"RewriteObject": { "kms_key": KMS_KEY_VALUE }
Dabei ist
KMS_KEY_VALUEder Wert des KMS-Schlüssels des Objekts, den Sie aktualisieren möchten.Aktualisieren Sie die Speicherklasse für Objekte:
"RewriteObject": { "storage_class": STORAGE_CLASS_VALUE }
Dabei ist
STORAGE_CLASS_VALUEdie neue Speicherklasse, in die die Objekte migriert werden sollen. Unterstützte Speicherklassen sindSTANDARD,NEARLINE,COLDLINEundARCHIVE.Objektmetadaten aktualisieren:
"PutMetadata": { "METADATA_KEY": "METADATA_VALUE", ..., "objectRetention": { "retainUntilTime": "RETAIN_UNTIL_TIME", "mode": "RETENTION_MODE" } }
Wobei:
METADATA_KEY/VALUEist das Schlüssel/Wert-Paar für die Metadaten des Objekts. Sie können ein oder mehrere Paare angeben.RETAIN_UNTIL_TIMEist das Datum und die Uhrzeit im RFC 3339-Format, bis zu dem 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_MODEist der Aufbewahrungsmodus, entwederUnlockedoderLocked.Wenn Sie eine Anfrage zum Aktualisieren der Felder
RETENTION_MODEundRETAIN_UNTIL_TIMEsenden, 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_MODEundRETAIN_UNTIL_TIMEangeben. Wenn Sie nur eines der beiden Felder festlegen, wird der FehlerINVALID_ARGUMENTzurückgegeben. - Sie können den
RETAIN_UNTIL_TIME-Wert für Objekte sowohl imUnlocked- als auch imLocked-Modus verlängern. - Die Objektaufbewahrung muss im Modus
Unlockedsein, wenn Sie Folgendes tun möchten:- Reduzieren Sie den Wert von
RETAIN_UNTIL_TIME. - Entfernen Sie die Konfiguration für die Aufbewahrung. Wenn Sie die Konfiguration entfernen möchten, müssen Sie für die Felder
RETENTION_MODEundRETAIN_UNTIL_TIMEleere Werte angeben.
- Reduzieren Sie den Wert von
- Wenn Sie sowohl das Feld
RETENTION_MODEals auch das FeldRETAIN_UNTIL_TIMEweglassen, bleibt die Konfiguration für die Aufbewahrungsdauer unverändert.
- Wenn Sie die Konfiguration für die Objektaufbewahrung aktualisieren möchten, müssen Sie nicht leere Werte für die Felder
Objekt-Holds aktualisieren:
"PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE }
Wobei:
Mit
TEMPORARY_HOLD_VALUEwird der temporäre Objekt-Hold aktiviert oder deaktiviert. Der Wert1aktiviert den Hold und der Wert2deaktiviert ihn.EVENT_BASED_HOLD_VALUEwird verwendet, um den ereignisbasierten Objekt-Hold zu aktivieren oder zu deaktivieren. Der Wert1aktiviert den Hold und der Wert2deaktiviert ihn.
Objektkontexte aktualisieren:
"updateObjectCustomContext": { "customContextUpdates": { "updates": { "CONTEXT_KEY": { "value": "CONTEXT_VALUE" } }, "keysToClear": ["CONTEXT_KEY_TO_CLEAR"] }, "clearAll": CLEAR_ALL_VALUE }
Wobei:
CONTEXT_KEYist der Schlüssel des Objektkontexts, der eingefügt oder aktualisiert werden soll.CONTEXT_VALUEist der Objektkontextwert für den Schlüssel.CONTEXT_KEY_TO_CLEARist der zu entfernende Schlüssel.CLEAR_ALL_VALUEist auftruegesetzt, um alle vorhandenen Objektkontexte zu löschen.
Objekt-ACLs aktualisieren:
"SetObjectAcls": { "accessControlsUpdates": { "grants": [ { "entity": "ENTITY_NAME", "role": "ROLE_NAME" } ], "removeEntities": ["ENTITY_TO_REMOVE"] } }
Wobei:
ENTITY_NAMEist die Entität, für die der Zugriff hinzugefügt oder aktualisiert werden soll, z. B.allUsers,allAuthenticatedUsersoder ein bestimmter Nutzer oder eine bestimmte Gruppe.ROLE_NAMEist die Rolle, die zugewiesen werden soll. Beispiele:READER,OWNERENTITY_TO_REMOVEist die Entität, deren Anmeldedaten Sie entfernen möchten.
DRY_RUN_VALUEist ein optionaler boolescher Wert. Legen Sietruefest, um den Job im Probelaufmodus auszuführen. Der Standardwert istfalse.
Verwenden Sie
curl, um die JSON API mit einer Anfrage für einenPOST-Storage-Batchvorgangsjob 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_NAME"
Wobei:
JSON_FILE_NAMEist der Name der JSON-Datei.PROJECT_IDist die ID oder Nummer des Projekts. Beispiel:my-project.JOB_NAMEist der Name des Jobs für Storage-Batchvorgänge.
Details zu Jobs für Storage-Batchvorgänge abrufen
In diesem Abschnitt wird beschrieben, wie Sie die Jobdetails für Storage-Batchvorgänge abrufen.
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Storage-Administrator (roles/storage.admin) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Aufrufen eines Storage-Batchvorgangsjobs benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Console
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
- Klicken Sie in der Bucket-Liste auf den Namen des Buckets, der mit dem Vorgang verknüpft ist.
- Klicken Sie auf der Seite Bucket-Details auf den Tab Vorgänge.
- Klicken Sie in der Liste der Vorgänge auf die Vorgangs-ID des Jobs, den Sie aufrufen möchten.
- Auf der Detailseite werden auf dem Tab Übersicht Messwerte für Ihren Job angezeigt, z. B. die Anzahl der erkannten und verarbeiteten Objekte sowie alle aufgetretenen Fehler.
- Sehen Sie sich in der Tabelle Fehlerzusammenfassung die Details zum Ausführungsfehler an oder klicken Sie auf In Cloud Logging ansehen, um Datensätze aufzurufen.
- Klicken Sie auf den Tab Konfiguration, um die Konfigurationseinstellungen für den Job aufzurufen.
Befehlszeile
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie in Ihrer Entwicklungsumgebung den Befehl
gcloud storage batch-operations jobs describeaus.gcloud storage batch-operations jobs describe JOB_NAME
Wobei:
JOB_NAMEist der Name des Jobs für Storage-Batchvorgänge.Wenn Sie einen Job im Probelauf ausführen, enthält die Ausgabe die folgenden Felder:
totalObjectCount: Hier wird die Anzahl der Objekte angezeigt, die Ihren Auswahlkriterien entsprechen.errorSummaries: Hier werden alle Fehler aufgeführt, die während des Probelaufs gefunden wurden, z. B. Berechtigungsprobleme oder ungültige Konfigurationen.totalBytesFound: Zeigt die Gesamtgröße der betroffenen Objekte an. Dieses Feld wird nur angezeigt, wenn Sie Objektpräfixe für die Objektauswahl verwenden.
Wenn der Vorgang erfolgreich war, sieht die Antwort für den Probelaufjob in etwa so aus:
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: SUCCEEDEDBei einer erfolgreichen Jobantwort wird das Feld
dryRunausgelassen und die folgenden Messwerte werden im Feldcounterszurückgegeben:- Gesamtzahl der gefundenen Objekte.
- Gesamtzahl der Bytes, die bei Verwendung von Objektpräfixen gefunden wurden.
- Erfolgreiche Objekttransformationen.
- Fehlgeschlagene Objekttransformationen, sofern zutreffend.
- Erstellte Objektkontexte, falls zutreffend.
- Objektkontexte wurden gelöscht, falls vorhanden.
- Objektkontexte wurden aktualisiert, sofern zutreffend. Mit diesem Zähler werden Aktualisierungen an vorhandenen Kontextschlüsseln erfasst.
Die Antwort für eine tatsächliche Jobausführung sieht in etwa so aus:
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
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.
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.
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den
Authorization-Header zu generieren.Verwenden Sie
cURL, um die JSON API mit einer Anfrage für einenGET-Storage-Batchvorgangsjob aufzurufen:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_NAME"
Wobei:
PROJECT_IDist die ID oder Nummer des Projekts. Beispiel:my-project.JOB_NAMEist der Name des Jobs für Storage-Batchvorgänge.
Wenn Sie einen Job im Probelauf ausführen, enthält die Ausgabe die folgenden Felder:
totalObjectCount: Hier wird die Anzahl der Objekte angezeigt, die Ihren Auswahlkriterien entsprechen.errorSummaries: Hier werden alle Fehler aufgeführt, die während des Probelaufs gefunden wurden, z. B. Berechtigungsprobleme oder ungültige Konfigurationen.totalBytesFound: Zeigt die Gesamtgröße der betroffenen Objekte an. Dieses Feld wird nur angezeigt, wenn Sie Objektpräfixe für die Objektauswahl verwenden.
Wenn der Vorgang erfolgreich war, sieht die Antwort für den Probelauf in etwa so aus:
{ "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 }Bei einer erfolgreichen Jobantwort wird das Feld
dryRunausgelassen und die folgenden Messwerte werden im Feldcounterszurückgegeben:- Gesamtzahl der gefundenen Objekte.
- Gesamtzahl der Bytes, die bei Verwendung von Objektpräfixen gefunden wurden.
- Erfolgreiche Objekttransformationen.
- Fehlgeschlagene Objekttransformationen, sofern zutreffend.
- Erstellte Objektkontexte, falls zutreffend.
- Objektkontexte wurden gelöscht, falls vorhanden.
Objektkontexte wurden aktualisiert, sofern zutreffend. Mit diesem Zähler werden Aktualisierungen an vorhandenen Kontextschlüsseln erfasst.
Die Antwort für einen tatsächlichen Joblauf sieht in etwa so aus:
{ "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": [ "" ] } } ] } }
Bucket-Vorgänge auflisten
Bei Jobs mit mehreren Buckets können Sie den Fortschritt und Status von Vorgängen für einzelne Buckets ansehen. Führen Sie den Befehl gcloud storage batch-operations bucket-operations list aus, um die Vorgänge aufzulisten, die für einen bestimmten Job für Buckets ausgeführt wurden:
gcloud storage batch-operations bucket-operations list --job=JOB_NAME
Mit dem Flag --buckets können Sie die Liste auch nach bestimmten Buckets filtern:
gcloud storage batch-operations bucket-operations list --job=JOB_NAME --buckets=BUCKET_NAME_LIST
Im folgenden Beispiel wird gezeigt, wie Sie Vorgänge für bucket1 und bucket2 für den Job my-job auflisten:
gcloud storage batch-operations bucket-operations list --job=my-job --buckets=bucket1,bucket2
Wobei:
JOB_NAMEist der eindeutige Name des Jobs für Speicher-Batchvorgänge, den Sie erstellt haben. Beispiel:my-job.BUCKET_NAME_LISTist eine durch Kommas getrennte Liste von Bucket-Namen ohne Leerzeichen zwischen den Namen. Beispiel:bucket1,bucket2.
Bucket-Vorgang beschreiben
Sie haben zwei Möglichkeiten, Details zu einem bestimmten Bucket-Vorgang aufzurufen:
Verwenden Sie den Befehl
gcloud storage batch-operations bucket-operations describemit dem Flag für den Namen der Vorgangsressource:gcloud alpha storage batch-operations bucket-operations describe BUCKET_OPERATION_RESOURCE_NAME
Wobei:
BUCKET_OPERATION_RESOURCE_NAMEist der vollständige Ressourcenpfad des Bucket-Vorgangs. Beispiel:projects/my-project/locations/global/jobs/my-job/bucketOperations/bo-1.
Verwenden Sie den Befehl
gcloud storage batch-operations bucket-operations describemit den Flags für die Vorgangs-ID des Vorgangs-Buckets und die Job-ID:gcloud alpha storage batch-operations bucket-operations describe BUCKET_OPERATION_ID --job=JOB_NAME
Wobei:
BUCKET_OPERATION_IDist die ID des Bucket-Vorgangs.JOB_NAMEist der eindeutige Name des von Ihnen erstellten Jobs für Speicher-Batchvorgänge. Beispiel:my-job.
Jobs für Storage-Batchvorgänge auflisten
In diesem Abschnitt wird beschrieben, wie Sie die Jobs für Storage-Batchvorgänge in einem Projekt auflisten.
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Storage-Administrator (roles/storage.admin) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Auflisten von Storage-Batchvorgängen benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Console
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
- Klicken Sie in der Bucket-Liste auf den Namen des Buckets, der mit dem Vorgang verknüpft ist.
- Klicken Sie auf der Seite Bucket-Details auf den Tab Vorgänge. Auf der Seite Vorgänge wird eine Liste der aktiven Vorgänge angezeigt.
Befehlszeile
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie in Ihrer Entwicklungsumgebung den Befehl
gcloud storage batch-operations jobs listaus.gcloud storage batch-operations jobs list
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.
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.
JSON API
Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den
Authorization-Header zu generieren.Verwenden Sie
cURL, um die JSON-API mit einer Anfrage fürLIST-Storage-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_IDist die ID oder Nummer des Projekts. Beispiel:my-project.
Job für Storage-Batchvorgänge abbrechen
In diesem Abschnitt wird beschrieben, wie Sie einen Storage-Batchvorgang-Job in einem Projekt abbrechen.
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Storage-Administrator (roles/storage.admin) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Abbrechen eines Storage-Batchvorgangs benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Console
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
Klicken Sie in der Bucket-Liste auf den Namen des Buckets, der mit dem Storage-Batchvorgang verknüpft ist, den Sie abbrechen möchten.
Klicken Sie auf den Tab Vorgänge. Auf diesem Tab wird eine Liste der Batchvorgangsjobs angezeigt. Sie können nur Jobs abbrechen, die gerade ausgeführt werden.
Wählen Sie in der Liste der Vorgänge einen oder mehrere Jobs aus, die Sie abbrechen möchten, und klicken Sie dann auf Abbrechen.
Befehlszeile
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie in Ihrer Entwicklungsumgebung den Befehl
gcloud storage batch-operations jobs cancelaus.gcloud storage batch-operations jobs cancel JOB_NAME
Wobei:
JOB_NAMEist der Name des Jobs für Storage-Batchvorgänge.
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.
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.
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den
Authorization-Header zu generieren.Verwenden Sie
cURL, um die JSON API mit einer Anfrage zumCANCEL-Job für Storage-Batchvorgänge aufzurufen:curl -X CANCEL \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_NAME"
Wobei:
PROJECT_IDist die ID oder Nummer des Projekts. Beispiel:my-project.JOB_NAMEist der Name des Jobs für Storage-Batchvorgänge.
Job für Storage-Batchvorgänge löschen
In diesem Abschnitt wird beschrieben, wie Sie einen Job für Storage-Batchvorgänge löschen.
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Storage-Administrator (roles/storage.admin) für das Projekt zuzuweisen, damit Sie die Berechtigungen erhalten, die Sie zum Löschen eines Storage-Batchvorgangs benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Console
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
Klicken Sie in der Bucket-Liste auf den Namen des Buckets, der mit dem Storage-Batchvorgang verknüpft ist, den Sie löschen möchten.
Klicken Sie auf den Tab Vorgänge. Auf diesem Tab wird eine Liste der Batchvorgangsjobs angezeigt. Sie können nur Jobs löschen, die nicht ausgeführt werden, z. B. Jobs, die erfolgreich waren, fehlgeschlagen sind oder abgebrochen wurden.
Wählen Sie in der Liste der Vorgänge einen oder mehrere Jobs aus, die Sie löschen möchten, und klicken Sie dann auf Löschen.
Befehlszeile
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie in Ihrer Entwicklungsumgebung den Befehl
gcloud storage batch-operations jobs deleteaus.gcloud storage batch-operations jobs delete JOB_NAME
Wobei:
JOB_NAMEist der Name des Jobs für Storage-Batchvorgänge.
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.
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.
JSON API
Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den
Authorization-Header zu generieren.Verwenden Sie
cURL, um die JSON API mit einer Anfrage zumDELETE-Job für Storage-Batchvorgänge aufzurufen:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_NAME"
Wobei:
PROJECT_IDist die ID oder Nummer des Projekts. Beispiel:my-project.JOB_NAMEist der Name des Jobs für Storage-Batchvorgänge.
Job für Storage-Batchvorgänge mit Storage Insights-Datasets erstellen
Wählen Sie eine der folgenden Optionen aus, um einen Batchvorgangsjob für Objekte auszuführen, die in einem Dataset aufgeführt sind:
Erweiterte Filter verwenden: Objekte auf Projektebene direkt im Google Cloud CLI-Befehl dynamisch filtern.
Storage Insights-Datasets werden aus regelmäßigen Snapshots Ihrer Speichermetadaten zu einem bestimmten Zeitpunkt erstellt. Jeder Snapshot hat eine Snapshot-Zeit, die angibt, wann die Metadaten erfasst wurden. Wenn Sie einen Batchjob mit erweiterten Filtern ausführen, wird anhand dieses Snapshot-Zeitpunkts bestimmt, welche Objekte und Versionen verarbeitet werden. Standardmäßig wird bei Storage-Batchvorgängen automatisch der letzte Snapshot-Zeitpunkt ausgewählt. Um Vorgänge mit veralteten Daten zu vermeiden, schlägt die Joberstellung fehl, wenn der ausgewählte Snapshot älter als zwei Tage ist. Informationen zur Behebung dieses Fehlers finden Sie unter Fehlerbehebung bei Storage-Batchvorgängen.
Manifestdatei verwenden: Generieren Sie eine CSV-Manifestdatei, indem Sie eine BigQuery-Abfrage ausführen, und stellen Sie sie dann für den Job bereit.
Die Methoden werden in den folgenden Abschnitten beschrieben.
Erweiterte Filter verwenden
Anstatt eine Manifestdatei zu erstellen, können Sie CEL-Filter (Common Expression Language) verwenden, um Objekte direkt anhand von Feldern in Ihrem Storage Insights-Dataset auszuwählen. Sie können Jobs für mehrere Buckets in einem Projekt ausführen. Wenn Sie Dataset-Filter für die Objektauswahl verwenden, werden bei Storage-Batchvorgängen Objekte berücksichtigt, die zum Zeitpunkt des ausgewählten Dataset-Snapshots aktiv und aktuell sind. Daher enthält der Job nur Objekte, die zum Zeitpunkt des Snapshots sowohl für softDeleteTime als auch für timeDeleted den Wert NULL haben.
Befehlszeile
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie den Befehl
gcloud storage batch-operations jobs createaus:gcloud storage batch-operations jobs create JOB_NAME \ {--insights-dataset-config=INSIGHTS_DATASET_CONFIG_RESOURCE_NAME --target-project=TARGET_PROJECT [--bucket-filters=BUCKET_FILTER_CEL] [--object-filters=OBJECT_FILTER_CEL] [--target-locations=TARGET_LOCATIONS] [--target-snapshot-time=TARGET_SNAPSHOT_TIME] | --dry-run-job-id=DRY_RUN_JOB_ID} \ --JOB_TYPE_FLAGWobei:
JOB_NAMEist der Name des Jobs für Storage-Batchvorgänge.INSIGHTS_DATASET_CONFIG_RESOURCE_NAME: Der Ressourcenname der Dataset-Konfiguration. Beispiel:projects/{project-id}/locations/{location-id}/datasetConfigs/{dataset_config_id}Sie müssen diesen Parameter angeben, bevor Sie die Flags--bucket-filtersund--object-filtersverwenden.TARGET_PROJECT: Die Projekt-ID oder Projektnummer, die den Zielressourcen zugeordnet ist.BUCKET_FILTER_CELundOBJECT_FILTER_CEL(optional): Die CEL-Filterausdrücke, die zum Auswählen von Objekten verwendet werden. Hier einige Beispiele:--bucket-filters="name in ['bucket-1', 'bucket-2']"--object-filters="size >= 5000 && name.endsWith('.pdf')"Informationen zu unterstützten Feldern, Operatoren und Funktionen finden Sie in der CEL-Filterreferenz.
TARGET_LOCATIONS(Optional): Eine Liste der Cloud Storage-Standorte, mit denen der Jobbereich eingeschränkt wird. Beispiel:us,us-central1,us-east4Mit diesem Parameter können Sie Standorte ausschließen, an denen ein Dienstausfall vorliegt. Wenn nurTARGET_LOCATIONSangegeben undTARGET_SNAPSHOT_TIMEweggelassen wird, wählt der Job automatisch den neuesten Snapshot-Zeitstempel aus, der sowohl in der Objekt- als auch in der Bucket-Attributansicht an allen angegebenen Standorten erfolgreich ausgefüllt wurde.TARGET_SNAPSHOT_TIME(optional): Der UTC-Zeitstempel des zu verwendenden Dataset-Snapshots im RFC 3339-Format. Beispiel:2026-05-03T16:00:00Z. Dieser Snapshot muss in allen Ihren Bucket- und Objektattributansichten vorhanden sein. Wenn Sie diesen Parameter angeben, müssen Sie auch den ParameterTARGET_LOCATIONSangeben.DRY_RUN_JOB_ID: Die Kennung eines zuvor ausgeführten Testlaufs. Wenn Sie diesen Parameter angeben, können Sie keine anderen Parameter für die Objektauswahl angeben, einschließlich--insights-dataset-config,--target-project,--bucket-filters,--object-filters,--target-locationsund--target-snapshot-time. Beim aktiven Job werden alle Auswahlkriterien direkt aus dem Probejob abgerufen.JOB_TYPE_FLAG: Das Flag für den Massenvorgang, den Sie ausführen möchten, z. B.--put-metadataoder--delete-object.
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den
Authorization-Header zu generieren.Erstellen Sie eine JSON-Konfigurationsdatei, in der die Dataset-Filter und Einstellungen für Bulk-Vorgänge angegeben werden. Beispiel:
{ "description": "JOB_DESCRIPTION", "projectSource": { "project": "projects/TARGET_PROJECT", "insightsDatasetConfig": "INSIGHTS_DATASET_CONFIG_RESOURCE_NAME", "bucketFilters": { "expression": "BUCKET_FILTER_CEL" }, "objectFilters": { "expression": "OBJECT_FILTER_CEL" }, "snapshotTime": "SNAPSHOT_TIME", "targetLocations": { "locations": ["LOCATION_1", "LOCATION_2"] } }, "deleteObject": { "permanentObjectDeletionEnabled": OBJECT_DELETION_VALUE } }
Wobei:
JOB_DESCRIPTIONist die Beschreibung des Jobs.TARGET_PROJECTist die Projekt-ID oder Projektnummer, die mit den Zielobjekten verknüpft ist.
INSIGHTS_DATASET_CONFIG_RESOURCE_NAMEist der vollständig qualifizierte Ressourcenname der Dataset-Konfiguration (z. B.projects/{project-id}/locations/{location-id}/datasetConfigs/{dataset_config_id}).BUCKET_FILTER_CEList der CEL-Filterausdruck für Buckets. Beispiel:name in ['bucket-1', 'bucket-2']. Weitere Informationen zu unterstützten Schlüsselwörtern, Feldern und Operatoren finden Sie in der CEL-Filterreferenz.OBJECT_FILTER_CEList der CEL-Filterausdruck für Objekte. Beispiel:size >= 5000 && name.endsWith('.pdf').snapshotTime(optional): Ein bestimmter UTC-Zeitstempel im RFC 3339-Format (z. B."2026-05-03T16:00:00Z"), der angibt, welcher Dataset-Snapshot verwendet werden soll. Diese Momentaufnahme muss sowohl in Ihren Bucket- als auch in Ihren Objektdatensatzansichten an allen Zielstandorten vorhanden sein. Wenn Sie dieses Feld angeben, müssen Sie auch das FeldtargetLocationsangeben.targetLocations(Optional): Ein JSON-Objekt, das eine Liste von Cloud Storage-Speicherorten (z. B.["us", "us-central1", "us-east4"]) zur Filterung des Jobbereichs angibt. Wenn bei Abhängigkeiten an bestimmten Standorten ein Ausfall auftritt, können Sie den Job auf bestimmte Standorte beschränken. Wenn nurtargetLocationsangegeben undsnapshotTimeweggelassen wird, wählt der Job automatisch den neuesten Snapshot-Zeitstempel aus, der sowohl in der Objekt- als auch in der Bucket-Attributansicht an allen angegebenen Standorten erfolgreich ausgefüllt wurde.OBJECT_DELETION_VALUEist der boolesche Wert, mit dem das endgültige Löschen aktiviert oder deaktiviert wird. Beispiel:trueoderfalse
Senden Sie eine
POST-Anfrage mitcURL, um den Job auszuführen:curl -X POST \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ -d @JSON_FILE_NAME \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs?job_id=JOB_NAME"Wobei:
JSON_FILE_NAMEist der Name der JSON-Datei.PROJECT_IDist die ID oder Nummer des Projekts. Beispiel:my-project.JOB_NAMEist der Name des Jobs für Storage-Batchvorgänge.
Manifestdatei verwenden
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Storage-Administrator (roles/storage.admin) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Storage-Batchvorgangsjobs benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
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 Storage-Batchvorgangsjob kann diese CSV-Datei dann als Manifest verwenden.
Wenn Sie die folgende SQL-Abfrage in BigQuery für eine Storage Insights-Dataset-Ansicht 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:
URIist der URI des Buckets, das das Manifest enthält. Beispiel:gs://bucket_name/path_to_csv_file/*.csv. Wenn Sie den Platzhalter*.csvverwenden, exportiert BigQuery das Ergebnis in mehrere CSV-Dateien.OVERWRITE_VALUEist ein boolescher Wert. Wenn der Wert auftruegesetzt ist, werden vorhandene Dateien am angegebenen Speicherort durch den Exportvorgang überschrieben.DATASET_VIEW_NAMEist der vollständig qualifizierte Name der Storage Insights-Dataset-Ansicht im FormatPROJECT_ID.DATASET_ID.VIEW_NAME. So finden Sie den Namen Ihres Datasets.Wobei:
PROJECT_IDist die ID oder Nummer des Projekts. Beispiel:my-project.DATASET_IDist der Name des Datasets. Beispiel:objects-deletion-dataset.VIEW_NAMEist der Name der Dataset-Ansicht. Beispiel:bucket_attributes_view.
BUCKET_NAMEist der Name des Buckets. Beispiel:my-bucket.SNAPSHOT_TIMEist der Snapshot-Zeitpunkt der Storage Insights-Datasetansicht. Beispiel:2024-09-10T00:00:00Z.
Job für Storage-Batchvorgänge mit einer Manifestdatei erstellen
So erstellen Sie einen Storage-Batchvorgangsjob, um im Manifest enthaltene Objekte zu verarbeiten:
Console
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
Klicken Sie in der Liste der Buckets auf den Namen des Buckets, der die Objekte enthält, für die Sie Batchvorgänge ausführen möchten.
Die Seite Bucket-Details wird geöffnet und der Tab Objekte ist ausgewählt.
- Klicken Sie auf Batchvorgänge erstellen.
- Wählen Sie im Bereich Vorgang auswählen den Vorgangstyp aus:
- Objekt-Holds verwalten: Wählen Sie Temporärer Hold oder Ereignisbasierter Hold aus. Weitere Informationen finden Sie unter Objekt-Holds.
- Objektmetadaten aktualisieren: So fügen Sie Objektmetadaten hinzu:
- So fügen Sie benutzerdefinierte Metadaten hinzu:
- Geben Sie im Feld Schlüssel einen Schlüsselnamen ein.
- Geben Sie im Feld Wert einen Wert für diesen Schlüssel ein.
- Optional: Klicken Sie auf + Element hinzufügen, um weitere Schlüssel/Wert-Paare hinzuzufügen.
- So aktualisieren Sie Metadaten mit festen Schlüsseln:
- Klicken Sie zum Maximieren des Abschnitts Metadaten mit festen Schlüsseln aktualisieren auf den Erweiterungspfeil.
- Wählen Sie in der Liste Wählen Sie mindestens einen Satz Metadaten aus, der aktualisiert werden soll die Metadatenelemente aus, die Sie bearbeiten möchten.
- So fügen Sie benutzerdefinierte Metadaten hinzu:
- Verschlüsselungsschlüssel aktualisieren/rotieren: So verwenden oder aktualisieren Sie den Verschlüsselungsschlüssel für Objekte:
- Wählen Sie in der Liste Cloud KMS-Schlüssel auswählen einen vom Kunden verwalteten Verschlüsselungsschlüssel (Customer-Managed Encryption Key, CMEK) aus.
- Optional: Wählen Sie Projekt wechseln aus, um einen Schlüssel aus einem anderen Projekt auszuwählen, oder wählen Sie Schlüssel manuell eingeben aus, um Details einzugeben.
- Objekte löschen: So löschen Sie Objekte:
- Prüfen, ob die Objektversionsverwaltung aktiviert ist
Wenn die Objektversionsverwaltung aktiviert ist, wählen Sie eine der folgenden Löschoptionen aus:
- Wählen Sie Alle Versionen der Objekte löschen aus, um sowohl Live- als auch nicht aktuelle Versionen zu entfernen.
- Wählen Sie Live-Versionen dauerhaft löschen aus, um nur die Live-Version zu entfernen.
Wenn die Objektversionsverwaltung nicht aktiviert ist, werden alle zum Löschen ausgewählten Objekte dauerhaft gelöscht.
- Klicken Sie auf Weiter.
- Führen Sie im Bereich Vorgang benennen und Objekte angeben die folgenden Schritte aus:
- Geben Sie im Feld Name einen Namen ein.
- Optional: Geben Sie im Feld Beschreibung eine Beschreibung ein.
- Wählen Sie im Bereich Objekte angeben die Option Listen von Objekten mithilfe von CSV-Manifestdateien hochladen aus und gehen Sie dann so vor:
- Laden Sie die CSV-Manifestdatei in einen Bucket hoch. Diese Datei muss Header für Bucket-Name, Objektschlüssel und Generationsnummer enthalten.
- Wählen Sie in der Liste Modus für Manifestdatei auswählen eine der folgenden Optionen aus:
- Wenn Sie Manifestdatei in Cloud Storage auswählen auswählen, klicken Sie im Feld Manifestdatei in Cloud Storage auswählen auf Durchsuchen. Suchen Sie im Dialogfeld Objekt auswählen nach Ihrer Manifest-CSV-Datei und klicken Sie dann auf Auswählen.
- Wenn Sie Mehrere Manifestdateien mit Platzhalter auswählen auswählen, geben Sie den Dateipfad im Feld Speicherort der Manifestdatei mit Platzhalter eingeben ein. Beispiel:
bucket-name/folder/manifest_*
- Klicken Sie auf Erstellen.
Befehlszeile
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie in Ihrer Entwicklungsumgebung den Befehl
gcloud storage batch-operations jobs createaus:gcloud storage batch-operations jobs create \ JOB_NAME \ {--bucket=SOURCE_BUCKET | --bucket-list=SOURCE_BUCKET_LIST} \ --manifest-location=URI \ JOB_TYPE_FLAGWobei:
JOB_NAMEist der Name des Jobs für Storage-Batchvorgänge.SOURCE_BUCKETist der Name des Buckets, der die Objekte enthält, die Sie verarbeiten möchten. Beispiel:my-bucket.SOURCE_BUCKET_LISTist eine durch Kommas getrennte Liste mit einem oder mehreren Bucket-Namen, die die Objekte enthalten, die Sie verarbeiten möchten. Beispiel:bucket1,bucket2.URIist der URI des Buckets, das das Manifest enthält. Beispiel:gs://bucket_name/path_to_csv_file/*.csv. Wenn Sie den Platzhalter*.csvverwenden, exportiert BigQuery das Ergebnis in mehrere CSV-Dateien.JOB_TYPE_FLAGist je nach Jobtyp eines der folgenden Flags.--delete-object: Ein oder mehrere Objekte löschen.--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. Sie können auch Konfigurationen für die Objektaufbewahrung mit dem Flag--put-metadataangeben.--rewrite-object: Aktualisieren Sie die kundenverwalteten Verschlüsselungsschlüssel für ein oder mehrere Objekte. Sie können dieses Flag auch verwenden, um die Speicherklasse des Objekts zu ändern, indem Sie denstorage-class-Schlüssel angeben. Unterstützte Speicherklassen sindSTANDARD,NEARLINE,COLDLINEundARCHIVE. Beispiel:--rewrite-object=storage-class=NEARLINE.--set-object-acls-from-file: Patch-Objekt-ACLs (Access Control Lists). Geben Sie den Pfad zu einer JSON- oder YAML-Datei mit Berechtigungen an, die für Entitäten wieallUsersoderallAuthenticatedUsershinzugefügt oder aktualisiert werden sollen. Beispiel:--set-object-acls-from-file=acl-updates.yaml.--put-object-event-based-hold: Eventbasierte Objekt-Holds 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: Deaktiviert temporäre Objekt-Holds.
--clear-all-object-custom-contexts: Löschen Sie alle vorhandenen Objektkontexte.Im folgenden Beispiel wird gezeigt, wie Sie einen Job erstellen, um alle Objektkontexte für Objekte zu löschen, die in
manifest.csvaufgeführt sind: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: Kontexte mit bestimmten Schlüsseln entfernen. Sie können auch bestimmte Kontexte aktualisieren und gleichzeitig Schlüssel entfernen, indem Sie das Flag--clear-object-custom-contextsund eines der folgenden Flags verwenden:--update-object-custom-contexts: Geben Sie eine Zuordnung von Schlüssel/Wert-Paaren an.Im folgenden Beispiel wird gezeigt, wie Sie einen Job erstellen, um den Kontext mit dem Schlüssel
temp-idzu entfernen und den Kontext mit den Schlüsselnproject-idundcost-centerfür alle inmanifest.csvaufgeführten Objekte zu aktualisieren oder einzufügen: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: Geben Sie den Pfad zu einer JSON- oder YAML-Datei mit Schlüssel/Wert-Paaren an.Das folgende Beispiel zeigt, wie Sie einen Job zum Verarbeiten von Objekten erstellen, die in
manifest.csvdefiniert sind. Der Job führt folgende Schritte aus:Entfernt alle Kontexte mit dem Schlüssel
temp-id.Aktualisiert vorhandene Kontexte mit den Schlüsseln
project-idundcost-center, die in der Datei/tmp/context_updates.jsondefiniert sind.
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
Dabei enthält
/tmp/context_updates.jsondie folgenden Objektkontexte:{ "project-id": {"value": "project-A"}, "cost-center": {"value": "engineering"} }
Einbindung in VPC Service Controls
VPC Service Controls bietet eine zusätzliche Sicherheitsebene für Ressourcen für Storage-Batchvorgänge. Wenn Sie Projekte in einen Dienstperimeter einfügen, schützen Sie Ressourcen und Dienste vor Anfragen, die ihren Ursprung außerhalb des Perimeters haben. Weitere Informationen zu den Details von VPC Service Controls-Dienstperimetern für Speicher-Batchvorgänge finden Sie unter Unterstützte Produkte und Einschränkungen.
Cloud-Audit-Logs für Storage-Batchvorgänge verwenden
Bei Storage-Batchvorgängen werden Transformationen von Cloud Storage-Objekten in Cloud-Audit-Logs für Cloud Storage aufgezeichnet. Verwenden Sie Cloud-Audit-Logs mit Cloud Storage, um diese Transformationen zu verfolgen. Weitere Informationen zum Aktivieren von Audit-Logs finden Sie unter Audit-Logs aktivieren. Im Audit-Log-Eintrag gibt das Metadatenfeld callUserAgent mit dem Wert StorageBatchOperations an, dass die Transformation durch Storage-Batchvorgänge ausgeführt wurde.