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 |
|
Tritt auf, wenn ein neues Objekt erstellt oder ein vorhandenes Objekt überschrieben und eine neue Generierung dieses Objekts erstellt wird. |
Objekt gelöscht |
|
Tritt auf, wenn ein Objekt endgültig gelöscht wird. |
Objekt archiviert |
|
Tritt auf, wenn eine Liveversion eines Objekts zu einer nicht aktuellen Version wird. Weitere Informationen finden Sie unter Objektversionsverwaltung. |
Objektmetadaten aktualisiert |
|
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:
Wenn Sie eine CloudEvent-Funktion verwenden, werden die Cloud Storage-Ereignisdaten an die Funktion im CloudEvents-Format weitergegeben und die CloudEvent-Datennutzlast ist vom Typ
StorageObjectData
.Wenn Sie eine Hintergrundfunktion verwenden, wird die Nutzlast der Cloud Storage-Ereignisdaten direkt an die Funktion im
StorageObjectData
-Format weitergegeben.
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:
- Wählen Sie im Feld Triggertyp die Option Cloud Storage aus.
- Wählen Sie im Feld Ereignistyp einen Ereignistyp aus.
- 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.
- 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
- Ereignisgesteuerte Funktionen schreiben
- Erfahren Sie mehr über das Bereitstellen einer Cloud Run Functions-Funktion.
- In der Anleitung zur Cloud Storage-Funktion finden Sie ein Beispiel für das Schreiben, Bereitstellen und Aufrufen einer Funktion mit einem Cloud Storage-Trigger.