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 Google Cloud console, vai alla pagina Trigger Eventarc.
Elenca tutti i trigger nel tuo progetto per tutte le località e include dettagli come il nome del trigger, la regione, il provider 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 delle Proprietà, seleziona un'opzione per filtrare i trigger, ad esempio Nome o Canale evento.
Puoi selezionare una singola proprietà o utilizzare l'operatore logico
OR
per aggiungere altre proprietà in base alle quali filtrare.Per ordinare i trigger, fai clic su
Ordina accanto all'intestazione della 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 seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud.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 Google Cloud console, vai alla pagina Trigger 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 evento e destinazione.
gcloud
gcloud eventarc triggers describe TRIGGER \ --location=LOCATION
Sostituisci quanto segue:
TRIGGER
: l'ID del trigger o un identificatore completamente qualificato.LOCATION
: la posizione del trigger Eventarc.
Questo comando restituisce informazioni sul trigger simili a quelle 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 determinato progetto e una determinata posizione, utilizza il metodo
projects.locations.triggers.get
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
TRIGGER_NAME
: il nome dell'attivatore che vuoi descrivere.PROJECT_ID
: il tuo ID progetto Google Cloud.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 Google Cloud console, vai alla pagina Trigger 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, ad esempio Fornitore dell'evento e Destinazione dell'evento. Per ulteriori informazioni 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 completamente qualificato.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.create
può essere aggiornato amethodName=storage.objects.delete
. Tieni presente che, dopo la creazione di un trigger, il filtro eventitype
non 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/json
oapplication/protobuf
.
Ad esempio, per aggiornare l'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 dei 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 completamente qualificato.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/json
oapplication/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 completamente qualificato.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.create
può essere aggiornato amethodName=storage.objects.delete
. Tieni presente che, dopo la creazione di un trigger, il filtro eventitype
non 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 e che riceve gli eventi dall'attivatore.NEW_DESTINATION_WORKFLOW_LOCATION
: la posizione in cui viene implementato il flusso di lavoro di destinazione.NEW_EVENT_DATA_TYPE
: la codifica del payload dell'evento; a seconda del fornitore dell'evento, può essereapplication/json
oapplication/protobuf
.
Ad esempio, per aggiornare l'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, il parametro di query updateMask
per specificare un elenco
di campi da aggiornare.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
TRIGGER_NAME
: il nome del trigger che vuoi aggiornare.PROJECT_ID
: il tuo ID progetto Google Cloud.LOCATION
: la regione in cui viene creato il trigger, ad esempious-central1
.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: facoltativo. L'email dell'account di 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/json
oapplication/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 appena creata di
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 }
Se il valore di "done"
è false
, l'operazione
è ancora in corso.
Elimina un trigger
Puoi eliminare un trigger.
Console
Nella Google Cloud console, vai alla pagina Trigger 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 attivatore con un nome specificato, utilizza il
metodo projects.locations.triggers.delete
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud.LOCATION
: la regione in cui viene creato il trigger, ad esempious-central1
.TRIGGER_NAME
: il nome dell'attivatore che vuoi 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.