Puoi gestire i trigger utilizzando la console Google Cloud o Google Cloud CLI nel terminale o in Cloud Shell. Puoi anche gestire i trigger tramite l'API Eventarc.
Elenca trigger
Puoi elencare, filtrare e ordinare i trigger in tutte le posizioni.
Console
Nella console Google Cloud , vai alla pagina Trigger di Eventarc.
Elenca tutti i trigger nel tuo progetto per tutte le località e include dettagli come il nome del trigger, la regione, il fornitore di eventi, la destinazione e il tipo di evento.
Per filtrare i trigger in base a una proprietà specifica:
- Fai clic sulla casella Filtro.
- Nell'elenco Proprietà, seleziona un'opzione per filtrare i trigger, ad esempio Nome o Canale evento.
Puoi selezionare una singola proprietà o utilizzare l'operatore logico
ORper aggiungere altre proprietà in base alle quali filtrare.Per ordinare i trigger, fai clic su Ordina accanto all'intestazione di colonna appropriata.
Solo alcune colonne sono ordinabili, ad esempio Nome, Regione o Canale evento.
gcloud
gcloud eventarc triggers list --location=-
Questo comando elenca il nome, il tipo, la destinazione e lo stato del trigger in tutte le posizioni.
REST
Per elencare i trigger in un progetto e una località specifici, utilizza il metodo
projects.locations.triggers.list.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: il tuo Google Cloud ID progetto.LOCATION: la regione in cui vengono creati i trigger, ad esempious-central1.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene istanze di
Trigger
e la risposta dovrebbe essere simile alla seguente:
{
"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
]
}
Descrivere un trigger
Puoi descrivere un trigger in una posizione specifica.
Console
Nella console Google Cloud , vai alla pagina Trigger di Eventarc.
Nell'elenco dei trigger, fai clic su quello di cui vuoi conoscere i dettagli.
La pagina Dettagli trigger mostra i dettagli del trigger, ad esempio nome, regione, fornitore di eventi, tipo di evento, tipo di contenuti dei dati sugli eventi e destinazione.
gcloud
gcloud eventarc triggers describe TRIGGER \ --location=LOCATION
Sostituisci quanto segue:
TRIGGER: l'ID del trigger o un identificatore completo.LOCATION: la posizione del trigger Eventarc.
Questo comando restituisce informazioni sul trigger simili alle seguenti:
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
Per descrivere un trigger in un progetto e una località specifici, utilizza il metodo
projects.locations.triggers.get.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
TRIGGER_NAME: il nome del trigger che vuoi descrivere.PROJECT_ID: il tuo Google Cloud ID progetto.LOCATION: la regione in cui viene creato il trigger, ad esempious-central1.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza di
Trigger
simile alla seguente:
{
"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"
}
}
}
Se la condizione del trigger indica un problema con l'argomento Pub/Sub, consulta Il trigger non genera eventi.
Aggiorna un trigger
Puoi aggiornare un trigger per le destinazioni Cloud Run, Google Kubernetes Engine (GKE) e Workflows. A seconda della destinazione, è possibile aggiornare campi specifici.
Console
Nella console Google Cloud , vai alla pagina Trigger di Eventarc.
Nell'elenco dei trigger, fai clic su quello di cui vuoi conoscere i dettagli.
Nella pagina Dettagli trigger, fai clic su Modifica.
Modifica i campi in base alle necessità e fai clic su Salva.
Tieni presente che non puoi aggiornare i campi non disponibili, come Fornitore di eventi e Destinazione evento. Per saperne di più sui campi, consulta le istruzioni di Console per un fornitore, un tipo di evento e una destinazione specifici.
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"
Sostituisci quanto segue:
TRIGGER: l'ID del trigger o un identificatore completo.LOCATION: la posizione del trigger Eventarc.
Puoi aggiornare uno dei seguenti elementi:
NEW_EVENT_FILTERS: il filtro utilizzato per configurare il routing degli eventi dell'attivatore; ad esempio,methodName=storage.objects.createpuò essere aggiornato amethodName=storage.objects.delete. Tieni presente che, dopo la creazione di un trigger, il filtro eventitypenon può essere modificato. Per un tipo di evento diverso, devi creare un nuovo trigger.NEW_SERVICE_ACCOUNT: l'email del account di servizio Identity and Access Management (IAM) associato al trigger.NEW_REGION: la regione in cui si trova il servizio Cloud Run di destinazione.NEW_SERVICE: il nome del servizio Cloud Run che riceve gli eventi per il trigger.NEW_PATH: il percorso relativo nel servizio Cloud Run di destinazione a cui devono essere inviati gli eventi per il trigger.NEW_EVENT_DATA_TYPE: la codifica del payload dell'evento; a seconda del fornitore dell'evento, può essereapplication/jsonoapplication/protobuf.
Ad esempio, per aggiornare il account di servizio per un trigger:
gcloud eventarc triggers update my-cloud-run-trigger \
--service-account=new-serviceaccount@${PROJECT_ID}.iam.gserviceaccount.com
Questo comando aggiorna il account di servizio di un trigger denominato
my-cloud-run-trigger a
new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com.
GKE
Tieni presente che questa sezione si applica anche agli endpoint pubblici di servizi privati e pubblici in esecuzione in un cluster GKE.
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"
Sostituisci quanto segue:
TRIGGER: l'ID del trigger o un identificatore completo.LOCATION: la posizione del trigger Eventarc.
Puoi aggiornare uno dei seguenti elementi:
NEW_NAMESPACE: lo spazio dei nomi in cui è in esecuzione il servizio GKE di destinazione.NEW_SERVICE: il nome del servizio GKE che riceve gli eventi per il trigger.NEW_PATH: il percorso relativo nel servizio GKE di destinazione a cui devono essere inviati gli eventi per l'attivatore.NEW_EVENT_DATA_TYPE: la codifica del payload dell'evento; a seconda del fornitore dell'evento, può essereapplication/jsonoapplication/protobuf.
Ad esempio, per aggiornare il servizio di ricezione di eventi per un trigger:
gcloud eventarc triggers update my-gke-trigger \
--destination-gke-service=helloworld-events
Questo comando aggiorna il servizio di ricezione eventi per un trigger denominato
my-gke-trigger a un servizio GKE denominato
helloworld-events.
Workflow
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"
Sostituisci quanto segue:
TRIGGER: l'ID del trigger o un identificatore completo.LOCATION: la posizione del trigger Eventarc.
Puoi aggiornare uno dei seguenti elementi:
NEW_EVENT_FILTERS: il filtro utilizzato per configurare il routing degli eventi del trigger; ad esempio,methodName=storage.objects.createpuò essere aggiornato amethodName=storage.objects.delete. Tieni presente che, dopo la creazione di un trigger, il filtro eventitypenon può essere modificato. Per un tipo di evento diverso, devi creare un nuovo trigger.NEW_SERVICE_ACCOUNT: l'email del account di servizio Identity and Access Management (IAM) associato al trigger.NEW_DESTINATION_WORKFLOW: l'ID del workflow di cui è stato eseguito il deployment che riceve gli eventi dal trigger.NEW_DESTINATION_WORKFLOW_LOCATION: la posizione in cui viene eseguito il deployment del workflow di destinazione.NEW_EVENT_DATA_TYPE: la codifica del payload dell'evento; a seconda del fornitore dell'evento, può essereapplication/jsonoapplication/protobuf.
Ad esempio, per aggiornare il account di servizio per un trigger:
gcloud eventarc triggers update my-workflows-trigger \
--service-account=new-serviceaccount@${PROJECT_ID}.iam.gserviceaccount.com
Questo comando aggiorna il account di servizio di un trigger denominato
my-workflows-trigger a
new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com.
REST
Per aggiornare un trigger esistente, utilizza il
metodo projects.locations.triggers.patch e, facoltativamente, utilizza il parametro di query updateMask per specificare un elenco di campi da aggiornare.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
TRIGGER_NAME: il nome del trigger che vuoi aggiornare.PROJECT_ID: il tuo Google Cloud ID progetto.LOCATION: la regione in cui viene creato il trigger, ad esempious-central1.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: facoltativo. L'email del account di servizio del servizio Identity and Access Management (IAM) associato al trigger.DESTINATION: facoltativo. Specifica il target a cui deve essere inviato l'evento e contiene un'istanza diDestination. Ad esempio:{"destination": {"workflow": "projects/my-project/locations/us-central1/workflows/my-first-workflow"}}o
{"destination": {"cloudRun": {"service": "hello-world", "region": "us-central1"}}}EVENT_FILTER: facoltativo. Gli attributi dell'evento in base ai quali filtrare. È supportato solo l'aggiornamento del tipo di metodo per i trigger di Cloud Audit Logs. Ad esempio:{"eventFilters": [{"attribute": "methodName", "value": "storage.buckets.create"}, {"attribute": "type", "value": "google.cloud.audit.log.v1.written"}, {"attribute": "serviceName", "value": "storage.googleapis.com"}]}Tieni presente che non puoi aggiornare i tipi di metodo per le destinazioni GKE.
CONTENT_TYPE: facoltativo. La codifica del payload dell'evento; a seconda del provider di eventi, può essereapplication/jsonoapplication/protobuf.UPDATE_FIELDS: facoltativo. Un elenco separato da virgole dei campi da aggiornare. Se non viene fornito, vengono aggiornati tutti i campi forniti nella richiesta. Ad esempio:serviceAccount,destination
Corpo JSON della richiesta:
{
"serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com",
"destination": DESTINATION,
"eventFilters" EVENT_FILTER,
"eventDataContentType": "CONTENT_TYPE"
}
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation appena creata:
{
"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
}
Se il valore di "done" è false, l'operazione
è ancora in corso.
Elimina un trigger
Puoi eliminare un trigger.
Console
Nella console Google Cloud , vai alla pagina Trigger di Eventarc.
Seleziona l'attivatore e fai clic su Elimina.
gcloud
gcloud eventarc triggers delete TRIGGER
Sostituisci TRIGGER con l'ID del trigger o un identificatore completo.
REST
Per eliminare un trigger con un nome specificato, utilizza il metodo
projects.locations.triggers.delete.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: il tuo Google Cloud ID progetto.LOCATION: la regione in cui viene creato il trigger, ad esempious-central1.TRIGGER_NAME: il nome del trigger da eliminare.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza di
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
}
Se il valore di "done" è false, l'operazione
è ancora in corso.