Sie können Trigger entweder mit der Google Cloud Console oder der Google Cloud CLI entweder 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.
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. Dazu gehören Details wie der Triggername, die Region, der Ereignisanbieter, das Ziel und der Ereignistyp.
So filtern Sie die Trigger nach einem bestimmten Attribut:
- Klicken Sie auf das Feld Filter.
- Wählen Sie in der Liste Attribute eine Option zum Filtern der Trigger, z. B. nach 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.Klicken Sie zum Sortieren der Trigger auf
Sortieren neben der entsprechenden Spaltenüberschrift.Nur einige Spalten können sortiert werden, z. B. Name, Region oder Ereigniskanal.
gcloud eventarc triggers list --location=-
Dadurch werden der Name, der Typ, das Ziel und der Status des Triggers an allen Standorten aufgelistet.
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:
: Ihre Google CloudProjekt-ID.PROJECT_ID
: die Region, in der die Trigger erstellt werden – zum Beispiel:LOCATION us-central1
.
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /triggers"
PowerShell (Windows)
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /triggers" | Select-Object -Expand Content
Wenn der Vorgang erfolgreich ist, 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.
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 der Ereignisdaten und Ziel.
gcloud eventarc triggers describeTRIGGER \ --location=LOCATION
Ersetzen Sie Folgendes:
TRIGGER
: ID des Triggers oder eine voll qualifizierte Kennzeichnung.LOCATION
: der Standort des Eventarc-Triggers.
Dieser Befehl gibt Informationen über den Trigger zurück, die in etwa so aussehen:
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
Verwenden Sie die Methode projects.locations.triggers.get
, um einen Trigger für ein bestimmtes Projekt und einen bestimmten Standort zu beschreiben.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
: der Name des Triggers, den Sie beschreiben möchten.TRIGGER_NAME
: Ihre Google CloudProjekt-ID.PROJECT_ID
: die Region, in der der Trigger erstellt wird – zum Beispiel:LOCATION us-central1
.
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /triggers/TRIGGER_NAME "
PowerShell (Windows)
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /triggers/TRIGGER_NAME " | Select-Object -Expand Content
Wenn der Vorgang erfolgreich ist, enthält der Antworttext eine Instanz von Trigger
, die 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 spezifische Felder aktualisiert werden.
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 die Ereignisanbieter und Ereignisziel aktualisieren können. Weitere Informationen zu den Feldern finden Sie in der Anleitung zur Console unter bestimmter Anbieter, Ereignistyp und Ziel.
gcloud eventarc triggers updateTRIGGER \ --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 Ereignis-Nutzlast; 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
Dieser Befehl aktualisiert das Dienstkonto eines Triggers mit dem Namen
my-cloud-run-trigger
bis
new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com
.
Dieser Abschnitt gilt auch für die öffentlichen Endpunkte privater und öffentlicher Dienste, die in einem GKE-Cluster ausgeführt werden.
gcloud eventarc triggers updateTRIGGER \ --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 Ereignis-Nutzlast; 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
Dieser Befehl aktualisiert den Ereignisempfängerdienst für einen Trigger mit dem Namen
my-gke-trigger
zu einem GKE-Dienst mit dem Namen
helloworld-events
gcloud eventarc triggers updateTRIGGER \ --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 Ereignis-Nutzlast; 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
Dieser Befehl aktualisiert das Dienstkonto eines Triggers mit dem Namen
my-workflows-trigger
bis
new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com
.
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:
: der Name des Triggers, den Sie aktualisieren möchten.TRIGGER_NAME
: Ihre Google CloudProjekt-ID.PROJECT_ID
: die Region, in der der Trigger erstellt wird – zum Beispiel:LOCATION us-central1
.
: Optional. : die E-Mail-Adresse des IAM-Dienstkontos (Identity and Access Management), das mit dem Trigger verknüpft ist.SERVICE_ACCOUNT @PROJECT_ID .iam.gserviceaccount.com
: Optional. Gibt das Ziel an, an das das Ereignis gesendet werden soll und enthält eine Instanz vonDESTINATION Destination
. Beispiel:{"destination": {"workflow": "projects/my-project/locations/us-central1/workflows/my-first-workflow"}}
oder
{"destination": {"cloudRun": {"service": "hello-world", "region": "us-central1"}}}
: Optional. Die Ereignisattribute, nach denen gefiltert werden soll. Es wird nur das Aktualisieren des Methodentyps für Cloud-Audit-Log-Trigger unterstützt. Beispiel:EVENT_FILTER {"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.
: Optional. Die Codierung der Ereignis-Nutzlast; je nach Ereignisanbieter kann diesCONTENT_TYPE application/json
oderapplication/protobuf
sein.
: Optional. Eine durch Kommas getrennte Liste der Felder, die aktualisiert werden sollen. Falls nicht angegeben, werden alle angegebenen Felder in der Anfrage aktualisiert. Beispiel:UPDATE_FIELDS 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:
curl (Linux, macOS oder Cloud Shell)
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "serviceAccount": "SERVICE_ACCOUNT @PROJECT_ID .iam.gserviceaccount.com", "destination":DESTINATION , "eventFilters"EVENT_FILTER , "eventDataContentType": "CONTENT_TYPE " } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /triggers/TRIGGER_NAME ?updateMask="UPDATE_FIELDS ""
PowerShell (Windows)
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "serviceAccount": "SERVICE_ACCOUNT @PROJECT_ID .iam.gserviceaccount.com", "destination":DESTINATION , "eventFilters"EVENT_FILTER , "eventDataContentType": "CONTENT_TYPE " } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /triggers/TRIGGER_NAME ?updateMask="UPDATE_FIELDS "" | Select-Object -Expand Content
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 der Wert von "done"
false
ist, ist der Vorgang noch aktiv.
Trigger löschen
Sie können einen Trigger löschen.
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 eventarc triggers deleteTRIGGER
Ersetzen Sie TRIGGER
durch die ID des Triggers oder eine vollständig qualifizierte ID.
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:
: Ihre Google CloudProjekt-ID.PROJECT_ID
: die Region, in der der Trigger erstellt wird – zum Beispiel:LOCATION us-central1
.
: der Name des Triggers, den Sie löschen möchten.TRIGGER_NAME
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Führen Sie folgenden Befehl aus:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /triggers/TRIGGER_NAME "
PowerShell (Windows)
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /triggers/TRIGGER_NAME " | Select-Object -Expand Content
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 der Wert von "done"
false
ist, ist der Vorgang noch aktiv.