Auf dieser Seite wird beschrieben, wie Sie Jobs für Speicher-Batchvorgänge erstellen, ansehen, auflisten, abbrechen und löschen. Außerdem wird beschrieben, wie Sie Cloud-Audit-Logs mit Speicher-Batchvorgängen verwenden.
Hinweis
Führen Sie die Schritte in den folgenden Abschnitten aus, um Speicher-Batchvorgänge zu erstellen und zu verwalten.
Storage Intelligence konfigurieren
Wenn Sie Jobs für Speicher-Batchvorgänge erstellen und verwalten möchten, konfigurieren Sie Storage Intelligence für den Bucket, in dem Sie den Job ausführen möchten.
Google Cloud CLI einrichten
Sie müssen die Google Cloud CLI-Version 516.0.0 oder höher verwenden.
Standardprojekt festlegen
Legen Sie das Projekt fest, in dem Sie den Job für Speicher-Batchvorgänge erstellen möchten.
gcloud config set project PROJECT_ID
Dabei entspricht PROJECT_ID der ID des Projekts.
API aktivieren
Aktivieren Sie die Storage Batch Operations API.
gcloud services enable storagebatchoperations.googleapis.com
Manifest erstellen
Wenn Sie ein Manifest für die Objektauswahl verwenden möchten, erstellen Sie ein Manifest.
Job für Speicher-Batchvorgänge erstellen
In diesem Abschnitt wird beschrieben, wie Sie einen Job für Speicher-Batchvorgänge erstellen.
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.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen eines Jobs für Batchvorgänge für Speicher erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Erstellen eines Jobs für Speicherbatchvorgänge erforderlich:
-
Job für Speicher-Batchvorgänge erstellen:
storagebatchoperations.jobs.create -
Führen Sie den Batchvorgangsjob zum Löschen von Objekten aus:
storage.objects.delete -
Führen Sie den Batchvorgang zum Aktualisieren von Objektmetadaten, zum Aktualisieren des vom Kunden verwalteten Verschlüsselungsschlüssels für Objekte, zum Aktualisieren des Objektkontexts oder zum Aktualisieren des Objekt-Hold-Speichers aus:
storage.objects.update
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
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.
Optional: Führen Sie einen Probelauf aus. Bevor Sie einen Job ausführen, empfehlen wir, ihn im Probelaufmodus auszuführen, um die Kriterien für die Objektauswahl 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_NAME OBJECT_SELECTION_FLAG JOB_TYPE_FLAG\ --dry-run
Für den Probelauf werden dieselben Parameter wie für den tatsächlichen Job verwendet. Weitere Informationen finden Sie in den Parameterbeschreibungen.
Informationen zum Ansehen der Ergebnisse des Probelaufs finden Sie unter Jobdetails für Storage-Batchvorgänge 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_NAME OBJECT_SELECTION_FLAG JOB_TYPE_FLAG
Die Parameter sind:
DRY_RUN_JOB_NAMEist der Name des Probelaufs für Speicherbatchvorgänge.JOB_NAMEist der Name des Jobs für Speicher-Batchvorgänge.BUCKET_NAMEist der Name des Buckets, der ein oder mehrere Objekte enthält, die Sie verarbeiten möchten.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 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=''.
- 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, das Sie je nach Jobtyp angeben müssen.--delete-object: Löscht ein oder mehrere Objekte.Wenn die Objektversionsverwaltung für den Bucket aktiviert ist, werden aktuelle Objekte in einen nicht aktuellen Zustand überführt und nicht aktuelle Objekte werden übersprungen.
Wenn die Objektversionsverwaltung für den Bucket deaktiviert ist, werden Objekte durch den Löschvorgang endgültig gelöscht und nicht aktuelle Objekte werden übersprungen.
--enable-permanent-object-deletion: Objekte endgültig löschen. Verwenden Sie dieses Flag zusammen mit dem Flag--delete-object, um sowohl Live- als auch nicht aktuelle Objekte in einem Bucket dauerhaft zu löschen, unabhängig von der Konfiguration der Objektversionsverwaltung des Buckets.--rewrite-object: Aktualisieren Sie die kundenverwalteten 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 Objektsperren aktivieren.--no-put-object-temporary-hold: Deaktivieren Sie temporäre Objektreservierungen.Im folgenden Beispiel wird gezeigt, wie Sie einen Job erstellen, um die
Content-Language-Metadaten für alle inmanifest.csvaufgeführten Objekte aufenzu aktualisieren.gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --put-metadata=Content-Language=en
--put-metadata: 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. Mit dem Flag--put-metadatakönnen Sie auch Aufbewahrungskonfigurationen für Objekte festlegen. 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 festlegen, führt das zu einemINVALID_ARGUMENT-Fehler. - Sie können den
RETAIN_UNTIL_TIME-Wert für Objekte sowohl imUnlocked- als auch imLocked-Modus erweitern. - Die Objektaufbewahrung muss im
Unlocked-Modus sein, wenn Sie Folgendes tun möchten:- Reduzieren Sie den Wert von
RETAIN_UNTIL_TIME. - Entfernen Sie die Aufbewahrungskonfiguration. Wenn Sie die Konfiguration entfernen möchten, müssen Sie für die Felder
RETENTION_MODEundRETAIN_UNTIL_TIMEleere Werte angeben.
- Reduzieren Sie den Wert von
- Wenn Sie sowohl das Feld
RETENTION_MODEals auch das FeldRETAIN_UNTIL_TIMEweglassen, bleibt die Aufbewahrungskonfiguration 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: Entfernt Kontexte mit bestimmten Schlüsseln. Sie können auch bestimmte Kontexte aktualisieren und gleichzeitig Schlüssel entfernen. Verwenden Sie dazu das Flag--clear-object-custom-contextsund eines der folgenden Flags:--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-idfür alle inmanifest.csvaufgeführten Objekte zu entfernen und den Kontext mit den Schlüsselnproject-idundcost-centerzu 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 API-Referenzdokumentation zu Cloud Storage PHP.
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.
REST APIs
JSON-API
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 Storage-Batchvorgangsjob. Folgende Einstellungen können verwendet werden:
{ "Description": "JOB_DESCRIPTION", "BucketList": { "Buckets": [ { "Bucket": "BUCKET_NAME", "Manifest": { "manifest_location": "MANIFEST_LOCATION" } "PrefixList": { "include_object_prefixes": "OBJECT_PREFIXES" } } ] }, "DeleteObject": { "permanent_object_deletion_enabled": OBJECT_DELETION_VALUE } "RewriteObject": { "kms_key":"KMS_KEY_VALUE" } "PutMetadata":{ "METADATA_KEY": "METADATA_VALUE", ..., "objectRetention": { "retainUntilTime": "RETAIN_UNTIL_TIME", "mode": "RETENTION_MODE" } } "PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE }, "updateObjectCustomContext": { "customContextUpdates": { "updates": { "CONTEXT_KEY": { "value": "CONTEXT_VALUE" } }, "keysToClear": ["CONTEXT_KEY_TO_CLEAR"] }, "clearAll": CLEAR_ALL_VALUE }, "dryRun": DRY_RUN_VALUE }
Wobei:
JOB_NAMEist der Name des Jobs für Speicher-Batchvorgänge.JOB_DESCRIPTIONist die Beschreibung des Jobs für Speicher-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 zu verarbeitenden Objekte anzugeben:
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 vom Kunden verwalteten 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.Objektmetadaten aktualisieren:
"PutMetadata": { "METADATA_KEY": "METADATA_VALUE", ..., "objectRetention": { "retainUntilTime": "RETAIN_UNTIL_TIME", "mode": "RETENTION_MODE" } }
Wobei:
METADATA_KEY/VALUEist das Schlüssel/Wert-Paar der 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 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 festlegen, führt das zu einemINVALID_ARGUMENT-Fehler. - Sie können den
RETAIN_UNTIL_TIME-Wert für Objekte sowohl imUnlocked- als auch imLocked-Modus erweitern. - Die Objektaufbewahrung muss im
Unlocked-Modus sein, wenn Sie Folgendes tun möchten:- Reduzieren Sie den Wert von
RETAIN_UNTIL_TIME. - Entfernen Sie die Aufbewahrungskonfiguration. Wenn Sie die Konfiguration entfernen möchten, müssen Sie für die Felder
RETENTION_MODEundRETAIN_UNTIL_TIMEleere Werte angeben.
- Reduzieren Sie den Wert von
- Wenn Sie sowohl das Feld
RETENTION_MODEals auch das FeldRETAIN_UNTIL_TIMEweglassen, bleibt die Aufbewahrungskonfiguration 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:
TEMPORARY_HOLD_VALUEwird verwendet, um den temporären Objekt-Hold zu aktivieren oder zu deaktivieren. Ein Wert von1aktiviert die Zurückstellung und ein Wert von2deaktiviert sie.EVENT_BASED_HOLD_VALUEwird verwendet, um den ereignisbasierten Objekt-Hold zu aktivieren oder zu deaktivieren. Ein Wert von1aktiviert die Zurückstellung und ein Wert von2deaktiviert sie.
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 auftruefestgelegt, um alle vorhandenen Objektkontexte zu löschen.
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 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/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 Speicher-Batchvorgänge.
Details zu Jobs für Speicher-Batchvorgänge abrufen
In diesem Abschnitt wird beschrieben, wie Sie die Jobdetails für Speicher-Batchvorgänge abrufen.
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-Batchvorgangs benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Aufrufen eines Jobs für Storage-Batchvorgänge erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um einen Speicher-Batchvorgangsjob aufzurufen:
-
Storage-Batchvorgangsjob ansehen:
storagebatchoperations.jobs.get,storagebatchoperations.operations.get
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
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_ID
Wobei:
JOB_IDist der Name des Jobs für Speicher-Batchvorgänge.Wenn Sie einen Job im Probebetrieb 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: Wenn Sie Objektpräfixe für die Objektauswahl verwenden, wird im Job auch die Gesamtgröße der betroffenen Objekte angezeigt.
Wenn der Vorgang erfolgreich war, sieht die Antwort für den Testlaufjob 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 gegebenenfalls gelöscht.
- Objektkontexte wurden aktualisiert, sofern zutreffend. Dieser Zähler erfasst Aktualisierungen an vorhandenen Kontextschlüsseln.
Die Antwort für einen tatsächlichen Joblauf 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 API-Referenzdokumentation zu Cloud Storage PHP.
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.
REST APIs
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 einerGET-Speicher-Batchvorgangsaufgabe 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_IDist die ID oder Nummer des Projekts. Beispiel:my-project.JOB_IDist der Name des Jobs für Speicher-Batchvorgänge.
Wenn Sie einen Job im Probebetrieb 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: Wenn Sie Objektpräfixe für die Objektauswahl verwenden, wird im Job auch die Gesamtgröße der betroffenen Objekte angezeigt.
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 dryRun ausgelassen und die folgenden Messwerte werden im Feld counters zurü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 gegebenenfalls gelöscht.
Objektkontexte wurden aktualisiert, sofern zutreffend. Dieser Zähler erfasst Aktualisierungen an vorhandenen Kontextschlüsseln.
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": [ "" ] } } ] } }
Batchvorgangsjobs für Speicher auflisten
In diesem Abschnitt wird beschrieben, wie Sie die Jobs für Speicher-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.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Auflisten von Speicher-Batchvorgangsjobs erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Auflisten von Speicherbatchvorgangs-Jobs erforderlich:
-
Batchvorgangsjobs für Speicher auflisten:
storagebatchoperations.jobs.list,storagebatchoperations.operations.list
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
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 API-Referenzdokumentation zu Cloud Storage PHP.
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.
REST APIs
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 einerLIST-Anfrage für Batchvorgänge für Speicher aufzurufen:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs"
Wobei:
PROJECT_IDist die ID oder Nummer des Projekts. Beispiel:my-project.
Job für Speicher-Batchvorgänge abbrechen
In diesem Abschnitt wird beschrieben, wie Sie einen Storage-Batchvorgangsjob in einem Projekt abbrechen.
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 Batchvorgangs für Speicher benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Abbrechen eines Batchvorgangs für Speicher erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Abbrechen eines Speicherbatchvorgangs erforderlich:
-
Batchvorgangsjob für Speicher abbrechen:
storagebatchoperations.jobs.cancel,storagebatchoperations.operations.cancel
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
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_ID
Wobei:
JOB_IDist der Name des Jobs für Speicher-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 API-Referenzdokumentation zu Cloud Storage PHP.
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.
REST APIs
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 einerCANCEL-Anfrage für einen Speicher-Batchvorgang aufzurufen:curl -X CANCEL \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
Wobei:
PROJECT_IDist die ID oder Nummer des Projekts. Beispiel:my-project.JOB_IDist der Name des Jobs für Speicher-Batchvorgänge.
Job für Speicher-Batchvorgänge löschen
In diesem Abschnitt wird beschrieben, wie Sie einen Job für Speicher-Batchvorgänge löschen.
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 Löschen eines Batchvorgangs für Speicher benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Löschen eines Batchvorgangsjobs für den Speicher erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Löschen eines Speicher-Batchvorgangsjobs erforderlich:
-
Batchvorgangsjob für Speicher löschen:
storagebatchoperations.jobs.delete
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
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_ID
Wobei:
JOB_IDist der Name des Jobs für Speicher-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 API-Referenzdokumentation zu Cloud Storage PHP.
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.
REST APIs
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 einerDELETE-Anfrage für einen Speicher-Batchvorgang aufzurufen:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
Wobei:
PROJECT_IDist die ID oder Nummer des Projekts. Beispiel:my-project.JOB_IDist der Name des Jobs für Speicher-Batchvorgänge.
Job für Speicher-Batchvorgänge mit Storage Insights-Datasets erstellen
Führen Sie die Schritte in den folgenden Abschnitten aus, um einen Batchvorgang für Speicher mit Storage Insights-Datasets zu erstellen.
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.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen eines Jobs für Batchvorgänge für Speicher erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Erstellen eines Jobs für Speicherbatchvorgänge erforderlich:
-
Job für Speicher-Batchvorgänge erstellen:
storagebatchoperations.jobs.create -
Führen Sie den Batchvorgangsjob zum Löschen von Objekten aus:
storage.objects.delete -
Führen Sie den Batchvorgang zum Aktualisieren von Objektmetadaten, des vom Kunden verwalteten Verschlüsselungsschlüssels, des Objektkontexts oder des Objekt-Hold-Speichers aus:
storage.objects.update
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten 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 Job für Speicher-Batchvorgänge kann diese CSV-Datei dann als Manifest verwenden.
Wenn Sie die folgende SQL-Abfrage in BigQuery für eine Dataset-Ansicht von Storage Insights ausführen, werden Objekte abgerufen, die größer als 1 KiB sind und den Namen Temp_Training haben:
EXPORT DATA OPTIONS( uri=`URI`, format=`CSV`, overwrite=OVERWRITE_VALUE, field_delimiter=',') AS SELECT bucket, name, generation FROM DATASET_VIEW_NAME WHERE bucket = BUCKET_NAME AND name LIKE (`Temp_Training%`) AND size > 1024 * 1024 AND snapshotTime = SNAPSHOT_TIME
Wobei:
URIist der URI des Buckets, der 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 auftruefestgelegt ist, werden vorhandene Dateien am angegebenen Speicherort durch den Exportvorgang überschrieben.DATASET_VIEW_NAMEist der vollständig qualifizierte Name der Storage Insights-Datasetansicht im FormatPROJECT_ID.DATASET_ID.VIEW_NAME. Rufen Sie das verknüpfte Dataset auf, um den Namen Ihres Datasets zu ermitteln.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 Speicher-Batchvorgänge erstellen
So erstellen Sie einen Speicher-Batchvorgangsjob zum Verarbeiten von Objekten, die im Manifest enthalten sind:
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_ID \ --bucket=SOURCE_BUCKET_NAME \ --manifest-location=URI \ --JOB_TYPE_FLAG
Wobei:
JOB_IDist der Name des Jobs für Speicher-Batchvorgänge.SOURCE_BUCKET_NAMEist der Bucket, der ein oder mehrere Objekte enthält, die Sie verarbeiten möchten. Beispiel:my-bucket.URIist der URI des Buckets, der 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: 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. 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.--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 Objektsperren aktivieren.--no-put-object-temporary-hold: Deaktivieren Sie temporäre Objektreservierungen.
--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: Entfernt Kontexte mit bestimmten Schlüsseln. Sie können auch bestimmte Kontexte aktualisieren und gleichzeitig Schlüssel entfernen. Verwenden Sie dazu das Flag--clear-object-custom-contextsund eines der folgenden Flags:--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-idfür alle inmanifest.csvaufgeführten Objekte zu entfernen und den Kontext mit den Schlüsselnproject-idundcost-centerzu 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
Mit VPC Service Controls können Sie eine zusätzliche Sicherheitsebene für Ressourcen für Storage-Batchvorgänge einrichten. Wenn Sie VPC Service Controls verwenden, fügen Sie Projekte zu Dienstperimetern hinzu, die Ressourcen und Dienste vor Anfragen schützen, die ihren Ursprung außerhalb des Perimeters haben. Weitere Informationen zu den Details von VPC Service Controls-Dienstperimetern für Storage-Batchvorgänge finden Sie unter Unterstützte Produkte und Einschränkungen.
Cloud-Audit-Logs für Speicher-Batchvorgänge verwenden
Bei Speicher-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.