Sie können Trigger entweder über die Google Cloud Console oder die Google Cloud CLI in Ihrem Terminal oder in Cloud Shell verwalten. Sie können Trigger auch über die Eventarc API verwalten.
Trigger auflisten
Sie können Ihre Trigger an allen Standorten auflisten, filtern und sortieren.
Console
Rufen Sie in der Google Cloud Console die Seite mit den Eventarc-Triggern auf.
Hier werden alle Trigger in Ihrem Projekt für alle Standorte aufgelistet. Außerdem enthalten sie Details wie den Triggernamen, die Region, den Ereignisanbieter, das Ziel und den Ereignistyp.
So filtern Sie die Trigger nach einem bestimmten Attribut:
- Klicken Sie auf das Feld Filter.
- Wählen Sie in der Liste der Attribute eine Option zum Filtern der Trigger aus, z. B. Name oder Ereigniskanal.
Sie können ein einzelnes Attribut auswählen oder den logischen Operator
OR
verwenden, um weitere Attribute hinzuzufügen, nach denen gefiltert werden soll.Zum Sortieren der Trigger klicken Sie neben der entsprechenden Spaltenüberschrift auf
Sortieren.Nur einige Spalten können sortiert werden, z. B. Name, Region oder Ereigniskanal.
gcloud
gcloud eventarc triggers list --location=-
Dadurch werden der Name, der Typ, das Ziel und der Status des Triggers an allen Standorten aufgelistet.
REST
Verwenden Sie die Methode projects.locations.triggers.list
, um Trigger in einem bestimmten Projekt und an einem bestimmten Standort aufzulisten.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: Ihre Google Cloud-Projekt-ID.LOCATION
: die Region, in der die Trigger erstellt werden, z. B.us-central1
.
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Bei Erfolg enthält der Antworttext Instanzen von Trigger
und die Antwort sollte in etwa so aussehen:
{ "triggers": [ { "name": "projects/PROJECT_ID/locations/LOCATION/triggers/TRIGGER_NAME", "uid": "d700773a-698b-47b2-a712-2ee10b690062", "createTime": "2022-12-06T22:44:04.744001514Z", "updateTime": "2022-12-06T22:44:09.116459550Z", "eventFilters": [ { "attribute": "type", "value": "google.cloud.pubsub.topic.v1.messagePublished" } ], "serviceAccount": "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com", "destination": { "workflow": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME" }, "transport": { "pubsub": { "topic": "projects/PROJECT_ID/topics/TOPIC_ID", "subscription": "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID" } } }, { object (Trigger) } ], "nextPageToken": string, "unreachable": [ string ] }
Trigger beschreiben
Sie können einen Trigger an einem bestimmten Standort beschreiben.
Console
Rufen Sie in der Google Cloud Console die Seite mit den Eventarc-Triggern auf.
Klicken Sie in der Liste der Trigger auf den Trigger, dessen Details Sie sehen möchten.
Auf der Seite Triggerdetails werden die Details des Triggers angezeigt, z. B. Name, Region, Ereignisanbieter, Ereignistyp, Inhaltstyp des Ereignisses und Ziel.
gcloud
gcloud eventarc triggers describe TRIGGER \ --location=LOCATION
Ersetzen Sie Folgendes:
TRIGGER
: ID des Triggers oder eine voll qualifizierte Kennzeichnung.LOCATION
: der Standort des Eventarc-Triggers.
Dieser Befehl gibt Informationen zum Trigger zurück, die den folgenden ähneln:
createTime: '2023-03-16T13:40:44.889670204Z'
destination:
cloudRun:
path: /
region: us-central1
service: hello
eventDataContentType: application/protobuf
eventFilters:
- attribute: serviceName
value: cloudscheduler.googleapis.com
- attribute: methodName
value: google.cloud.scheduler.v1.CloudScheduler.DeleteJob
- attribute: type
value: google.cloud.audit.log.v1.written
name: projects/project-name/locations/us-central1/triggers/name-of-trigger
serviceAccount: project-number-compute@developer.gserviceaccount.com
transport:
pubsub:
subscription: projects/project-name/subscriptions/eventarc-us-central1-name-of-trigger-sub-034
topic: projects/project-name/topics/eventarc-us-central1-name-of-trigger-931
REST
Verwenden Sie die Methode projects.locations.triggers.get
, um einen Trigger in einem bestimmten Projekt und an einem bestimmten Standort zu beschreiben.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
TRIGGER_NAME
: der Name des Triggers, den Sie beschreiben möchten.PROJECT_ID
: Ihre Google Cloud-Projekt-ID.LOCATION
: die Region, in der der Trigger erstellt wird, z. B.us-central1
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Bei Erfolg enthält der Antworttext eine Instanz von Trigger
, die in etwa so aussieht:
{ "name": "projects/PROJECT_ID/locations/LOCATION/triggers/TRIGGER_NAME", "uid": "d700773a-698b-47b2-a712-2ee10b690062", "createTime": "2022-12-06T22:44:04.744001514Z", "updateTime": "2022-12-06T22:44:09.116459550Z", "eventFilters": [ { "attribute": "type", "value": "google.cloud.pubsub.topic.v1.messagePublished" } ], "serviceAccount": "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com", "destination": { "workflow": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME" }, "transport": { "pubsub": { "topic": "projects/PROJECT_ID/topics/TOPIC_ID", "subscription": "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID" } } }
Wenn die Bedingung des Triggers auf ein Problem mit dem Pub/Sub-Thema hinweist, finden Sie weitere Informationen unter Trigger liefert keine Ereignisse.
Trigger aktualisieren
Sie können einen Trigger für Cloud Run, Google Kubernetes Engine (GKE) und Workflows aktualisieren. Je nach Ziel können bestimmte Felder aktualisiert werden.
Console
Rufen Sie in der Google Cloud Console die Seite mit den Eventarc-Triggern auf.
Klicken Sie in der Liste der Trigger auf den Trigger, dessen Details Sie sehen möchten.
Klicken Sie auf der Seite mit den Triggerdetails auf
Bearbeiten.Bearbeiten Sie die Felder nach Bedarf und klicken Sie auf Speichern.
Beachten Sie, dass Sie keine nicht verfügbaren Felder wie Ereignisanbieter und Ereignisziel aktualisieren können. Weitere Informationen zu den Feldern finden Sie in der Anleitung in der Console für einen bestimmten Anbieter, einen Ereignistyp und ein Ziel.
gcloud
Cloud Run
gcloud eventarc triggers update TRIGGER \ --location=LOCATION \ --event-filters=NEW_EVENT_FILTERS \ --service-account=NEW_SERVICE_ACCOUNT \ --destination-run-region=NEW_REGION \ --destination-run-service=NEW_SERVICE \ --destination-run-path=NEW_PATH \ --event-data-content-type="NEW_EVENT_DATA_TYPE"
Ersetzen Sie Folgendes:
TRIGGER
: ID des Triggers oder eine voll qualifizierte Kennzeichnung.LOCATION
: der Standort des Eventarc-Triggers.
Sie können folgende Angaben aktualisieren:
NEW_EVENT_FILTERS
: der Filter, der zum Konfigurieren des Ereignisroutings des Triggers verwendet wird;methodName=storage.objects.create
kann beispielsweise inmethodName=storage.objects.delete
aktualisiert werden. Nachdem der Trigger erstellt wurde, kann der Ereignisfiltertype
nicht mehr geändert werden. Für einen anderen Ereignistyp müssen Sie einen neuen Trigger erstellen.NEW_SERVICE_ACCOUNT
: die E-Mail-Adresse des IAM-Dienstkontos (Identity and Access Management), das mit dem Trigger verknüpft ist.NEW_REGION
: die Region, in der sich der Cloud Run-Zieldienst befindet.NEW_SERVICE
: der Name des Cloud Run-Dienstes, der die Ereignisse für den Trigger empfängt.NEW_PATH
: der relative Pfad zum Cloud Run-Zieldienst, an den die Ereignisse für den Trigger gesendet werden sollen.NEW_EVENT_DATA_TYPE
: die Codierung der Ereignisnutzlast; Je nach Ereignisanbieter kann diesapplication/json
oderapplication/protobuf
sein.
So aktualisieren Sie beispielsweise das Dienstkonto für einen Trigger:
gcloud eventarc triggers update my-cloud-run-trigger \
--service-account=new-serviceaccount@${PROJECT_ID}.iam.gserviceaccount.com
Mit diesem Befehl wird das Dienstkonto eines Triggers mit dem Namen my-cloud-run-trigger
auf new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com
aktualisiert.
GKE
Dieser Abschnitt gilt auch für die öffentlichen Endpunkte privater und öffentlicher Dienste, die in einem GKE-Cluster ausgeführt werden.
gcloud eventarc triggers update TRIGGER \ --location=LOCATION \ --destination-gke-namespace=NEW_NAMESPACE \ --destination-gke-service=NEW_SERVICE \ --destination-gke-path=NEW_PATH \ --event-data-content-type="NEW_EVENT_DATA_TYPE"
Ersetzen Sie Folgendes:
TRIGGER
: ID des Triggers oder eine voll qualifizierte Kennzeichnung.LOCATION
: der Standort des Eventarc-Triggers.
Sie können folgende Angaben aktualisieren:
NEW_NAMESPACE
: der Namespace, in dem der GKE-Zieldienst ausgeführt wird.NEW_SERVICE
: der Name des GKE-Dienstes, der die Ereignisse für den Trigger empfängt.NEW_PATH
: der relative Pfad zum GKE-Zieldienst, an den die Ereignisse für den Trigger gesendet werden sollen.NEW_EVENT_DATA_TYPE
: die Codierung der Ereignisnutzlast; Je nach Ereignisanbieter kann diesapplication/json
oderapplication/protobuf
sein.
So aktualisieren Sie beispielsweise den Ereignisempfängerdienst für einen Trigger:
gcloud eventarc triggers update my-gke-trigger \
--destination-gke-service=helloworld-events
Mit diesem Befehl wird der Ereignisempfängerdienst für einen Trigger mit dem Namen my-gke-trigger
auf einen GKE-Dienst mit dem Namen helloworld-events
aktualisiert.
Workflows
gcloud eventarc triggers update TRIGGER \ --location=LOCATION \ --event-filters=NEW_EVENT_FILTERS \ --service-account=NEW_SERVICE_ACCOUNT \ --destination-workflow=NEW_DESTINATION_WORKFLOW \ --destination-workflow-location=NEW_DESTINATION_WORKFLOW_LOCATION \ --event-data-content-type="NEW_EVENT_DATA_TYPE"
Ersetzen Sie Folgendes:
TRIGGER
: ID des Triggers oder eine voll qualifizierte Kennzeichnung.LOCATION
: der Standort des Eventarc-Triggers.
Sie können folgende Angaben aktualisieren:
NEW_EVENT_FILTERS
: der Filter, der zum Konfigurieren des Ereignisroutings des Triggers verwendet wird;methodName=storage.objects.create
kann beispielsweise inmethodName=storage.objects.delete
aktualisiert werden. Nachdem der Trigger erstellt wurde, kann der Ereignisfiltertype
nicht mehr geändert werden. Für einen anderen Ereignistyp müssen Sie einen neuen Trigger erstellen.NEW_SERVICE_ACCOUNT
: die E-Mail-Adresse des IAM-Dienstkontos (Identity and Access Management), das mit dem Trigger verknüpft ist.NEW_DESTINATION_WORKFLOW
: die ID des bereitgestellten Workflows, der die Ereignisse vom Trigger empfängt.NEW_DESTINATION_WORKFLOW_LOCATION
: der Standort, an dem der Zielworkflow bereitgestellt wird.NEW_EVENT_DATA_TYPE
: die Codierung der Ereignisnutzlast; Je nach Ereignisanbieter kann diesapplication/json
oderapplication/protobuf
sein.
So aktualisieren Sie beispielsweise das Dienstkonto für einen Trigger:
gcloud eventarc triggers update my-workflows-trigger \
--service-account=new-serviceaccount@${PROJECT_ID}.iam.gserviceaccount.com
Mit diesem Befehl wird das Dienstkonto eines Triggers mit dem Namen my-workflows-trigger
auf new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com
aktualisiert.
REST
Verwenden Sie zum Aktualisieren eines vorhandenen Triggers die Methode projects.locations.triggers.patch und optional den Abfrageparameter updateMask
, um eine Liste der zu aktualisierenden Felder anzugeben.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
TRIGGER_NAME
: der Name des Triggers, den Sie aktualisieren möchten.PROJECT_ID
: Ihre Google Cloud-Projekt-ID.LOCATION
: die Region, in der der Trigger erstellt wird, z. B.us-central1
SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: Optional. : die E-Mail-Adresse des IAM-Dienstkontos (Identity and Access Management), das mit dem Trigger verknüpft ist.DESTINATION
: Optional. Gibt das Ziel an, an das das Ereignis gesendet werden soll, und enthält eine Instanz vonDestination
. Beispiel:{"destination": {"workflow": "projects/my-project/locations/us-central1/workflows/my-first-workflow"}}
oder
{"destination": {"cloudRun": {"service": "hello-world", "region": "us-central1"}}}
EVENT_FILTER
: Optional. Die Ereignisattribute, nach denen gefiltert werden soll. Nur das Aktualisieren des Methodentyps für Cloud-Audit-Log-Trigger wird unterstützt. Beispiel:{"eventFilters": [{"attribute": "methodName", "value": "storage.buckets.create"}, {"attribute": "type", "value": "google.cloud.audit.log.v1.written"}, {"attribute": "serviceName", "value": "storage.googleapis.com"}]}
Beachten Sie, dass Sie keine Methodentypen für GKE-Ziele aktualisieren können.
CONTENT_TYPE
: Optional. Codierung der Ereignisnutzlast; Je nach Ereignisanbieter kann diesapplication/json
oderapplication/protobuf
sein.UPDATE_FIELDS
: Optional. Eine durch Kommas getrennte Liste von Feldern, die aktualisiert werden sollen. Wenn nicht angegeben, werden alle angegebenen Felder in der Anfrage aktualisiert. Beispiel:serviceAccount,destination
JSON-Text der Anfrage:
{ "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com", "destination": DESTINATION, "eventFilters" EVENT_FILTER, "eventDataContentType": "CONTENT_TYPE" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Bei Erfolg enthält der Antworttext eine neu erstellte Instanz von Operation
.
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata", "createTime": "2024-01-25T17:17:45.782370139Z", "target": "projects/PROJECT_ID/locations/LOCATION/triggers/TRIGGER_NAME", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Wenn "done"
den Wert false
hat, wird der Vorgang noch ausgeführt.
Trigger löschen
Sie können einen Trigger löschen.
Console
Rufen Sie in der Google Cloud Console die Seite mit den Eventarc-Triggern auf.
Wählen Sie den Trigger aus und klicken Sie auf
Löschen.
gcloud
gcloud eventarc triggers delete TRIGGER
Ersetzen Sie TRIGGER
durch die ID des Triggers oder eine vollständig qualifizierte ID.
REST
Verwenden Sie die Methode projects.locations.triggers.delete
, um einen Trigger mit einem bestimmten Namen zu löschen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: Ihre Google Cloud-Projekt-ID.LOCATION
: die Region, in der der Trigger erstellt wird, z. B.us-central1
TRIGGER_NAME
: der Name des Triggers, den Sie löschen möchten.
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Operation
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata", "createTime": "2024-01-24T17:53:52.834876290Z", "target": "projects/PROJECT_ID/locations/LOCATION/triggers/TRIGGER_NAME", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Wenn "done"
den Wert false
hat, wird der Vorgang noch ausgeführt.