Cloud Storage-Trigger (1. Generation)

In Cloud Run Functions ermöglicht ein Cloud Storage-Trigger das Aufrufen einer Funktion als Reaktion auf Änderungen in Cloud Storage. Wählen Sie einen Ereignistyp aus und geben einen Cloud Storage-Bucket an, wenn Sie einen Cloud Storage-Trigger für eine Funktion angeben. Die Funktion wird immer dann aufgerufen, wenn eine Änderung an einem Objekt (Datei) im angegebenen Bucket erfolgt.

Die folgenden Cloud Storage-Ereignistypen werden unterstützt:

Ereignis Ereignistyp Beschreibung
Objekt abgeschlossen
  • google.storage.object.finalize
Tritt auf, wenn ein neues Objekt erstellt oder ein vorhandenes Objekt überschrieben und eine neue Generierung dieses Objekts erstellt wird.
Objekt gelöscht
  • google.storage.object.delete
Tritt auf, wenn ein Objekt endgültig gelöscht wird.
Objekt archiviert
  • google.storage.object.archive
Tritt auf, wenn eine Liveversion eines Objekts zu einer nicht aktuellen Version wird. Weitere Informationen finden Sie unter Objektversionsverwaltung.
Objektmetadaten aktualisiert
  • google.storage.object.metadataUpdate
Tritt auf, wenn sich die Metadaten eines vorhandenen Objekts ändern.

Damit eine Funktion einen Cloud Storage-Trigger verwenden kann, muss sie als ereignisgesteuerte Funktion implementiert werden:

Das Repository Google Events enthält zusätzliche Ressourcen für die Arbeit mit Ereignisdaten.

Bereitstellung

Sie können einen Cloud Storage-Trigger angeben, wenn Sie eine Funktion bereitstellen. Allgemeine Anleitungen zum Bereitstellen einer Funktion finden Sie unter Cloud Run Functions-Funktionen bereitstellen. Weiter unten finden Sie zusätzliche Informationen zum Konfigurieren von Cloud Storage-Triggern während der Bereitstellung.

gcloud

Wenn Sie die gcloud CLI verwenden, können Sie den Cloud Storage-Ereignistyp Objekt abgeschlossen mit den folgenden Flags verwenden:

gcloud functions deploy YOUR_FUNCTION_NAME \
--no-gen2 \
--trigger-bucket=YOUR_STORAGE_BUCKET \
[--retry] \
...
  • Das Flag --trigger-bucket gibt den Cloud Storage-Bucket an, den der Trigger überwacht. Objekt abgeschlossene Ereignisse in diesem Bucket lösen Aufrufe an Ihre Funktion aus.
  • Mit dem Flag --retry wird gesteuert, ob fehlgeschlagene Funktionsaufrufe automatisch wiederholt werden. Weitere Informationen finden Sie unter Ereignisgesteuerte Funktionen wiederholen.

Verwenden Sie die folgenden Flags, wenn Sie andere Ereignistypen als Objekt abgeschlossen verwenden möchten:

  gcloud functions deploy YOUR_FUNCTION_NAME 
--no-gen2
--trigger-event=EVENT_TYPE
--trigger-resource=YOUR_STORAGE_BUCKET
...

Legacy-Cloud Storage-Ereignisse

Legacy-Funktionen in Cloud Run Functions (1. Generation) verwenden Legacy-Benachrichtigungen über Objektänderungen für Cloud Storage-Trigger:

gcloud functions deploy YOUR_FUNCTION_NAME \
--no-gen2 \
--trigger-event=providers/cloud.storage/eventTypes/object.change \
--trigger-resource=YOUR_STORAGE_BUCKET \
...

Dieser Ereignistyp wird für Legacy-Funktionen unterstützt, die diese Ereignisse bereits verwenden. Wir empfehlen jedoch nicht, diesen Ereignistyp zu verwenden, da er möglicherweise in Zukunft entfernt wird.

Console

Wenn Sie die Bereitstellung mit der Google Cloud Console ausführen, können Sie einen Cloud Storage-Trigger im Abschnitt Trigger konfigurieren:

  1. Wählen Sie im Feld Triggertyp die Option Cloud Storage aus.
  2. Wählen Sie im Feld Ereignistyp einen Ereignistyp aus.
  3. Klicken Sie im Feld Bucket auf Durchsuchen, um einen Cloud Storage-Bucket auszuwählen, den der Trigger überwachen soll. Änderungen an Objekten in diesem Bucket lösen Aufrufe Ihrer Funktion aus.
  4. Aktivieren oder deaktivieren Sie das Kästchen Bei Fehler noch einmal versuchen, um zu steuern, ob fehlgeschlagene Funktionsaufrufe automatisch wiederholt werden. Weitere Informationen finden Sie unter Ereignisgesteuerte Funktionen wiederholen.

Ereignisübermittlung

Cloud Storage-Trigger werden mit Pub/Sub-Benachrichtigungen für Cloud Storage implementiert. Ereignisse unterliegen den Garantien für die Pub/Sub-Benachrichtigungsübermittlung.

Ein Cloud Storage-Bucket kann bis zu 10 Benachrichtigungskonfigurationen haben, die zum Auslösen von Benachrichtigungen für ein bestimmtes Ereignis festgelegt sind. Wenn Sie die Benachrichtigungslimits des Buckets überschreiten, schlagen weitere Funktionsbereitstellungen mit einem Fehler wie dem folgenden fehl:

Cloud Storage bucket ...: Pub/Sub notification limit reached

Weitere Informationen finden Sie unter Kontingente und Limits für Cloud Storage.

Nächste Schritte