In diesem Dokument wird beschrieben, wie Sie Batchvorgänge für Speicher verwenden, um Aktionen für Milliarden von Objekten in einer serverlosen Umgebung auszuführen. In großen Unternehmen können Objekte auf Tausende von Buckets verteilt sein. Mit Speicherbatchvorgängen lassen sich umfangreiche Vorgänge für Objekte automatisieren. Durch diese Automatisierung wird die Entwicklungszeit verkürzt, die zum Schreiben und Verwalten von Skripts für jede Anfrage erforderlich ist.
Informationen zum Erstellen von Jobs für Speicher-Batchvorgänge finden Sie unter Jobs für Speicher-Batchvorgänge erstellen und verwalten.
Übersicht
Mit Batchvorgängen für den Speicher können Sie eine große Anzahl von Dateien in Ihrem Projekt verwalten. Erstellen Sie zuerst eine Jobkonfiguration. In der Konfiguration wird festgelegt, welche Transformationen auf bestimmte Objekte angewendet werden sollen. Diese Transformationen umfassen das Festlegen von Objekt-Holds, das Löschen von Objekten, das Aktualisieren von Objektmetadaten und ‑kontexten, das Umschreiben von Objekten und das Patchen von Zugriffskontrollen.
Wenn Sie einen Batchvorgangsjob einreichen, können Sie seinen Status überwachen, um zu sehen, wann alle angegebenen Transformationen angewendet werden.
Vorteile
Vorteile von Speicher-Batchvorgängen:
- Skalierbarkeit: Mit einem einzigen Job für Speicher-Batchvorgänge können Sie Transformationen für Millionen von Objekten ausführen.
- Serverlose Ausführung: Führen Sie Batchjobs in einer serverlosen Umgebung aus, sodass Sie keine Infrastruktur verwalten müssen.
- Automatisierung: Automatisieren Sie komplexe und sich wiederholende Aufgaben, um die Betriebseffizienz zu steigern.
- Kürzere Entwicklungszeit: Sie müssen keine komplexen benutzerdefinierten Skripts schreiben und verwalten.
- Integration von Storage Insights-Datasets: Sie können Objekte direkt auswählen, indem Sie Bedingungen angeben, die mit Feldern in Ihren Storage Insights-Datasets übereinstimmen. Durch diese direkte Auswahl ist es nicht mehr erforderlich, ein CSV-Manifest manuell zusammenzustellen oder Abfragen auszuführen, um Ihr Dataset aus BigQuery zu exportieren.
- Leistung: Führen Sie mehrere Batchjobs gleichzeitig aus, um zeitkritische Vorgänge zu erledigen. Sie können beispielsweise bis zu einer Milliarde Objekte innerhalb von drei Stunden verarbeiten.
- Automatische Wiederholungsversuche: Fehlgeschlagene Vorgänge werden automatisch wiederholt.
- Job-Monitoring: Verfolgen Sie den Fortschritt im Detail, um den Status und die Fertigstellung aller Jobs zu überwachen.
Anwendungsfälle
Speicherbatchvorgänge automatisieren und vereinfachen die organisationsweite Speicherverwaltung. In den folgenden häufigen Szenarien wird beschrieben, wie sie zum Schutz, zur Organisation und zur Verwaltung Ihrer Ressourcen beitragen:
Daten schützen: Sie können Ihren Sicherheitsstatus im großen Maßstab verwalten. Sie können beispielsweise Verschlüsselungsschlüssel für Millionen von Objekten rotieren, Objekt-Holds anwenden oder entfernen, um die Unveränderlichkeit zu erzwingen, und Zugriffssteuerungslisten (Access Control Lists, ACLs) im Bulk patchen, um den öffentlichen Lesezugriff auf private Daten zu entfernen.
Compliance einhalten: Unterstützt bei der Einhaltung von Vorschriften zur Datenaufbewahrung. Mit gezielten Objekt-Holds können Sie Aufbewahrungsregeln erzwingen, bestimmte Ablaufzeiten festlegen und Objekte innerhalb eines bestimmten Zeitraums löschen, um Löschrichtlinien zu erfüllen.
Daten im großen Maßstab transformieren: Führen Sie Bulk-Updates für Objekteigenschaften durch. Sie können beispielsweise benutzerdefinierte oder feste Objektmetadaten aktualisieren und Dateien für Downstream-Systeme taggen, indem Sie benutzerdefinierte Objektkontexte aktualisieren oder löschen.
Speicherkosten verwalten: Sie können Ihre Cloud Storage-Ausgaben optimieren. So können Sie beispielsweise unnötige Live-Objekte in großen Mengen löschen, alte Datensätze bereinigen, indem Sie nicht aktuelle Objektversionen dauerhaft löschen, und Standard Storage-Objekte in großem Umfang in „kältere“ Speicherklassen wie Archive Storage verschieben.
Jobkonfigurationen
Wenn Sie einen Job für Speicher-Batchvorgänge erstellen möchten, legen Sie die folgenden Jobkonfigurationen fest. Jobkonfigurationen sind Parameter, die steuern, wie der Job Objekte verarbeitet.
Jobname: Ein eindeutiger Name zur Identifizierung des Jobs für Storage-Batchvorgänge. Mit diesem Namen können Sie den Job verfolgen, überwachen und darauf verweisen. Jobnamen sind alphanumerisch, z. B.
job-01.Jobbeschreibung (Optional): Eine kurze Beschreibung des Zwecks des Jobs. Diese Beschreibung hilft Ihnen, die Aufgabe zu verstehen und zu dokumentieren. Beispiel:
Deletes all objects in a bucket.Bucket-Liste: Eine durch Kommas getrennte Liste mit einem oder mehreren Bucket-Namen, die die Objekte enthalten, die Sie verarbeiten möchten. Sie können bis zu 1.000 Buckets aus einem beliebigen Projekt angeben, sofern für jeden Bucket ein Storage Intelligence-Abo abgeschlossen ist.
Objektauswahl: Die Auswahlkriterien, mit denen definiert wird, welche Objekte verarbeitet werden sollen. Sie können die Kriterien mit einer der folgenden Optionen angeben:
Dataset-Filter: Mit der Common Expression Language (CEL) können Sie Objekte anhand von Metadatenfeldern in Ihrem Storage Insights-Dataset filtern. Sie können Batchjobs für Objekte in mehreren Buckets in einem Projekt ausführen. Wenn Sie Datensatzfilter für die Objektauswahl verwenden, werden bei Batchvorgängen für den Speicher Objekte berücksichtigt, die zum Zeitpunkt des ausgewählten Datensatz-Snapshots aktiv und aktuell sind. Daher enthält der Job nur Objekte, die zum Zeitpunkt der Momentaufnahme einen
NULL-Wert fürsoftDeleteTimeundtimeDeletedhaben. Weitere Informationen finden Sie unter Job mit erweiterten Filtern erstellen.Manifest: Erstellen Sie ein Manifest und geben Sie seinen Speicherort an, wenn Sie den Job für Speicher-Batchvorgänge erstellen. Das Manifest ist eine CSV-Datei, die in Google Cloud hochgeladen wird und die Liste der zu verarbeitenden Objekte enthält. Jede Zeile im Manifest muss den
bucketundnamedes Objekts enthalten. Optional können Sie diegenerationdes Objekts angeben. Wenn Sie den Wertgenerationweglassen, wird die Live-Version des Objekts verarbeitet.Die Manifestdatei muss eine Kopfzeile im folgenden Format enthalten:
bucket,name,generationHier ein Beispiel für das Manifest:
bucket,name,generation bucket_1,object_1,generation_1 bucket_1,object_2,generation_2 bucket_2,object_3,generation_3
Sie können auch ein Manifest mit Storage Insights-Datasets erstellen. Weitere Informationen finden Sie unter Manifest mit Storage Insights-Datasets erstellen.
Objektpräfixe: Geben Sie eine Liste von Präfixen an, um Objekte im Bucket zu filtern. Im Job werden nur Objekte verarbeitet, die diesen Präfixen entsprechen. Wenn Sie die Präfixliste leer lassen, werden alle Objekte im Bucket verarbeitet.
Jobtyp: Speicherbatchvorgänge unterstützen die folgenden Jobtypen, wobei ein einzelner Job pro Batchvorgang ausgeführt wird.
Objektlöschung: Sie können Objekte in einem Bucket löschen, um Kosten zu optimieren, den Datenlebenszyklus zu verwalten und Richtlinien zum Löschen von Daten einzuhalten.
Metadaten aktualisieren: Sie können die folgenden Objektmetadaten ändern:
Benutzerdefinierte Metadaten: Sie können alle benutzerdefinierten Schlüssel/Wert-Paare aktualisieren, die mit dem Objekt verknüpft sind.
Feste Metadaten: Sie können
Cache-Control,Content-Disposition,Content-Encoding,Content-Language,Content-Type,Custom-Timeund die Aufbewahrungskonfiguration aktualisieren. Verwenden Sie zum Ändern von Objekt-Holds die Art der Dienstleistung „object hold updates“.
Aktualisierungen von Objekt-Holds: Sie können Objekt-Holds aktivieren oder deaktivieren. Objekt-Holds verhindern, dass Objekte gelöscht oder geändert werden. Diese Sperren sind für die Einhaltung von Compliance-Anforderungen und die Datenaufbewahrung unerlässlich.
Aktualisierungen von Objektschlüsseln: Sie können die vom Kunden verwalteten Verschlüsselungsschlüssel für ein oder mehrere Objekte verwalten. Dazu gehört auch das Anwenden oder Ändern von Verschlüsselungsschlüsseln mit der Methode Objekt umschreiben.
Aktualisierungen des Objektkontexts: Verwalten Sie die Objektkontexte, die mit den Objekten verknüpft sind. Sie können entweder alle vorhandenen Objektkontexte löschen oder bestimmte Aktualisierungen vornehmen, z. B. Schlüssel entfernen oder Schlüssel/Wert-Paare einfügen und aktualisieren.
Aktualisierungen der Objektspeicherklasse: Sie können die Speicherklasse von Objekten im Bulk ändern, um die Kosten zu optimieren.
Aktualisierungen von Access Control Lists (ACLs) für Objekte: Sie können Objekt-ACLs patchen, um Erteilungen für Entitäten wie
allUsersundallAuthenticatedUsershinzuzufügen, zu aktualisieren oder zu entfernen.
Probelauf (optional): Verwenden Sie den Probelaufmodus, um versehentliche Fehlkonfigurationen im großen Maßstab zu vermeiden. Bei einem Probelauf wird der Vorgang simuliert, ohne dass Transformationen durchgeführt werden. Mit dieser Simulation können Sie Ihre Jobkonfiguration validieren, bevor Sie den eigentlichen Job ausführen. Die Ergebnisse des Probelaufs bieten eine Vorschau der folgenden Details, bevor Sie den Job ausführen:
Die Anzahl der Objekte, die vom Job betroffen sind.
Mögliche Fehler
Die Gesamtgröße der betroffenen Objekte, wenn Sie nach Objektpräfixen filtern.
Preise
Informationen zum Schätzen der Kosten für Ihren Job oder Probelauf finden Sie unter Cloud Storage – Preise.
Mit einem Probelauf können Sie Ihre Konfiguration validieren, ohne dass Betriebskosten anfallen. Allerdings können Kosten für die Auflistung von Objekten anfallen.
Beschränkungen
Für Speicher-Batchvorgänge gelten die folgenden Einschränkungen:
Batchvorgangsjobs für Speicher haben eine maximale Lebensdauer von 14 Tagen. Alle laufenden Jobs, die nicht innerhalb von 14 Tagen nach ihrer Erstellung abgeschlossen werden, werden automatisch abgebrochen.
Sie können maximal 1.000 Objektpräfixe in einen einzelnen Job aufnehmen.
Wenn Sie mehr als 10 gleichzeitige Jobs für denselben Bucket ausführen, wird die Leistung der einzelnen Jobs beeinträchtigt.
Sie können einen einzelnen Batch-Job für maximal 1.000 Buckets in einem Projekt ausführen.
Bucket-Filter und Objektfilter dürfen jeweils maximal 150 Zeichen lang sein.
Bei Storage-Batchvorgängen wird die Snapshot-Zeit des Storage Insights-Datasets automatisch anhand des globalen Manifests ausgewählt. Bei dieser Auswahl werden alle Ziel-Buckets für die Objekterkennung auf denselben Snapshot-Zeitpunkt abgestimmt. Die ausgewählte globale Snapshot-Zeit wird in der API-Antwort zurückgegeben. Wenn der Snapshot älter als zwei Tage ist, schlägt die Joberstellung fehl. Informationen zur Behebung dieses Fehlers finden Sie unter Fehlerbehebung bei Storage-Batchvorgängen.
Speicherbatchvorgänge werden für Buckets, für die Anfragesteller bezahlt aktiviert ist, nicht unterstützt.
Wenn Sie Storage Insights-Datasets für die Objektauswahl verwenden, werden bei Speicher-Batchvorgängen Objekte berücksichtigt, die zum Zeitpunkt des ausgewählten Dataset-Snapshots aktiv und aktuell sind.