Speicherbatchvorgänge

In diesem Dokument wird beschrieben, wie Sie Speicherbatchvorgänge verwenden, um Aktionen für Milliarden von Objekten im großen Maßstab in einer serverlosen Umgebung auszuführen. In großen Unternehmen können Objekte auf Tausende von Buckets verteilt sein. Mit Speicherbatchvorgängen lassen sich Vorgänge für Objekte im großen Maßstab 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 Speicherbatchvorgänge finden Sie unter Jobs für Speicherbatchvorgänge erstellen und verwalten.

Übersicht

Mit Speicherbatchvorgängen 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. Zu diesen Transformationen gehören das Festlegen von Objekt-Holds, das Löschen von Objekten, das Aktualisieren von Objektmetadaten und -kontexten, das Umschreiben von Objekten und das Patchen von Zugriffssteuerungen.

Wenn Sie einen Batchvorgangsjob senden, können Sie seinen Status verfolgen, um zu sehen, wann alle angegebenen Transformationen angewendet werden.

Vorteile

Die folgenden Vorteile bieten Speicherbatchvorgänge:

  • Skalierbarkeit: Mit einem einzigen Job für Speicherbatchvorgä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 betriebliche Effizienz zu verbessern.
  • Kürzere Entwicklungszeit: Sie müssen keine komplexen benutzerdefinierten Skripts schreiben und verwalten.
  • Integration von Storage Insights-Datasets: Wählen Sie Objekte direkt aus, indem Sie Bedingungen angeben, die mit Feldern in Ihren Storage Insights-Datasets übereinstimmen. Durch diese direkte Auswahl müssen Sie kein CSV-Manifest manuell erstellen oder Abfragen ausführen, um Ihr Dataset aus BigQuery zu exportieren.
  • Leistung: Führen Sie zeitkritische Vorgänge aus, indem Sie mehrere Batchjobs gleichzeitig ausführen. Sie können beispielsweise bis zu eine Milliarde Objekte innerhalb von drei Stunden verarbeiten.
  • Automatische Wiederholungen: Wiederholen Sie fehlgeschlagene Vorgänge automatisch.
  • Jobüberwachung: Verfolgen Sie den Fortschritt im Detail, um den Status und den Abschluss aller Jobs zu überwachen.

Anwendungsfälle

Mit Speicherbatchvorgängen lässt sich die speicherweite Speicherverwaltung automatisieren und vereinfachen. In den folgenden häufigen Szenarien wird beschrieben, wie Sie Ihre Ressourcen schützen, organisieren und verwalten können:

  • Daten schützen: Verwalten Sie Ihren Sicherheitsstatus im großen Maßstab. 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 Access Control Lists (ACLs) im Bulk patchen, um den öffentlichen Lesezugriff auf private Daten zu entfernen.

  • Compliance einhalten: Erfüllen Sie die Vorschriften zur Datenaufbewahrung. Verwenden Sie gezielte Objekt-Holds, um Aufbewahrungsregeln zu erzwingen, bestimmte Ablaufzeiten festzulegen und Objekte innerhalb eines bestimmten Zeitraums zu löschen, um Löschrichtlinien zu erfüllen.

  • Daten im großen Maßstab transformieren: Führen Sie Bulk-Updates für Objekteigenschaften aus. Sie können beispielsweise benutzerdefinierte oder feste Objektmetadaten aktualisieren und Dateien für nachgelagerte Systeme taggen, indem Sie benutzerdefinierte Objektkontexte aktualisieren oder löschen.

  • Speicherkosten verwalten: Optimieren Sie Ihre Cloud Storage-Ausgaben. Sie können beispielsweise unnötige Live-Objekte im Bulk löschen, veraltete Datensätze bereinigen, indem Sie nicht aktuelle Objektversionen dauerhaft löschen, und Standard Storage-Objekte im großen Maßstab in kältere Speicherklassen wie Archive Storage verschieben.

Jobkonfigurationen

Um einen Job für Speicherbatchvorgänge zu erstellen, 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 Speicherbatchvorgänge. Mit diesem Namen können Sie den Job verfolgen, überwachen und referenzieren. Jobnamen sind alphanumerisch, z. B. job-01.

  • Jobbeschreibung (optional): Eine kurze Beschreibung des Zwecks des Jobs. Diese Beschreibung hilft Ihnen, die Funktion des Jobs 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 zu verarbeitenden Objekte enthalten. Sie können bis zu 1.000 Buckets aus einem beliebigen Projekt angeben, sofern jeder Bucket in einem Storage Intelligence-Plan registriert ist.

  • Objektauswahl: Die Auswahlkriterien, die definieren, welche Objekte verarbeitet werden sollen. Sie können die Kriterien mit einer der folgenden Optionen angeben:

    • Dataset-Filter: Verwenden Sie die Common Expression Language (CEL), um Objekte anhand von Metadatenfeldern in Ihrem Storage Insights-Dataset zu filtern. Sie können Batchjobs für Objekte in mehreren Buckets in einem Projekt ausführen. Wenn Sie Dataset-Filter für die Objektauswahl verwenden, werden mit Speicherbatchvorgängen Objekte ausgewählt, die zum Zeitpunkt des ausgewählten Dataset-Snapshots live und aktuell sind. Daher enthält der Job nur Objekte, die zum Zeitpunkt des Snapshots für softDeleteTime und timeDeleted den Wert NULL haben. Weitere Informationen finden Sie unter Job mit erweiterten Filtern erstellen.

    • Manifest: Erstellen Sie ein Manifest und geben Sie den Speicherort an, wenn Sie den Job für Speicherbatchvorgä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 bucket und den name des Objekts enthalten. Optional können Sie die generation des Objekts angeben. Wenn Sie den Wert generation weglassen, wird die Live-Version des Objekts verarbeitet.

      Die Manifestdatei muss eine Kopfzeile im folgenden Format enthalten:

      bucket,name,generation

      Hier sehen Sie 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. Der Job verarbeitet nur Objekte, die mit diesen Präfixen übereinstimmen. Wenn Sie die Präfixliste leer lassen, werden alle Objekte im Bucket verarbeitet.

  • Jobtyp: Speicherbatchvorgänge unterstützen die folgenden Jobtypen, wobei für jeden Batchvorgang ein einzelner Job ausgeführt wird.

    • Objektlöschung: Löschen Sie Objekte in einem Bucket, um Kosten zu optimieren, den Lebenszyklus Ihrer Daten zu verwalten und Richtlinien zum Löschen von Daten einzuhalten.

    • Metadatenaktualisierungen: 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-Time, und die Konfiguration für die Aufbewahrung aktualisieren. Verwenden Sie den Jobtyp „Objekt-Hold-Aktualisierungen“, um Objekt-Holds zu ändern.

    • Objekt-Hold-Aktualisierungen: Sie können Objekt-Holds aktivieren oder deaktivieren. Objekt-Holds verhindern, dass Objekte gelöscht oder geändert werden. Diese Holds sind für die Compliance und die Datenaufbewahrung unerlässlich.

    • Aktualisierungen des Objektverschlüsselungsschlüssels: Sie können die vom Kunden verwalteten Verschlüsselungsschlüssel für ein oder mehrere Objekte verwalten. Dazu gehört das Anwenden oder Ändern von Verschlüsselungsschlüsseln mit der Methode zum Umschreiben von Objekten.

    • 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 Kosten zu optimieren.

    • Aktualisierungen von Access Control Lists (ACLs) für Objekte: Sie können Objekt-ACLs patchen, um Berechtigungen für Entitäten wie allUsers und allAuthenticatedUsers hinzuzufügen, zu aktualisieren oder zu entfernen.

  • Probelauf (optional): Verwenden Sie den Probelaufmodus, um versehentliche großflächige Fehlkonfigurationen zu vermeiden. Bei einem Probelauf wird der Vorgang simuliert, ohne dass Transformationen ausgefü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 zu den Kosten für Ihren Job oder Probelauf finden Sie unter Cloud Storage – Preise.

Sie können einen Probelauf verwenden, um Ihre Konfiguration zu validieren, ohne dass Vorgangskosten anfallen. Allerdings können Kosten für die Auflistung von Objekten anfallen.

Beschränkungen

Für Speicherbatchvorgänge gelten die folgenden Einschränkungen:

  • Jobs für Speicherbatchvorgänge haben eine maximale Lebensdauer von 14 Tagen. Alle laufenden Jobs, die nicht innerhalb von 14 Tagen nach ihrer Erstellung abgeschlossen werden, werden automatisch abgebrochen.

  • Ein einzelner Job kann maximal 1.000 Objektpräfixe enthalten.

  • Wenn mehr als 10 Jobs gleichzeitig für denselben Bucket ausgeführt werden, wird die Leistung jedes Jobs beeinträchtigt.

  • Sie können einen einzelnen Batchjob für maximal 1.000 Buckets in einem Projekt ausführen.

  • Bucket- und Objektfilter sind auf maximal 150 Zeichen beschränkt.

  • Bei Speicherbatchvorgängen wird die Snapshot-Zeit des Storage Insights-Datasets automatisch anhand des globalen Manifests ausgewählt. Bei dieser Auswahl werden alle Ziel-Buckets derselben Snapshot-Zeit für die Objektermittlung zugeordnet. Die ausgewählte globale Snapshot-Zeit wird in der API-Antwort zurückgegeben. Wenn die Snapshot-Zeit älter als zwei Tage ist, schlägt die Job-Erstellung fehl. Informationen zur Behebung dieses Fehlers finden Sie unter Fehlerbehebung bei Problemen mit Speicherbatchvorgängen.

  • Speicherbatchvorgänge werden für Buckets, für die „Anforderer bezahlt“ aktiviert ist, nicht unterstützt.

  • Wenn Sie Storage Insights-Datasets für die Objektauswahl verwenden, werden mit Speicherbatchvorgängen Objekte ausgewählt, die zum Zeitpunkt des ausgewählten Dataset-Snapshots live und aktuell sind.

Nächste Schritte