Gestione dei trigger

Puoi gestire gli attivatori utilizzando la console Google Cloud o Google Cloud CLI nel terminale o in Cloud Shell. Puoi anche gestire gli trigger tramite l'API Eventarc.

Elenca trigger

Puoi elencare, filtrare e ordinare gli attivatori in tutte le località.

Console

  1. Nella console Google Cloud, vai alla pagina Eventarc Trigger.

    Vai ai trigger

    Vengono elencati tutti gli attivatori del progetto per tutte le località e includono dettagli come il nome dell'attivatore, la regione, il fornitore di eventi, la destinazione e il tipo di evento.

  2. Per filtrare gli attivatori in base a una proprietà specifica:

    1. Fai clic sulla casella Filtro.
    2. Nell'elenco delle Proprietà, seleziona un'opzione per filtrare gli attivatori, 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.

  3. Per ordinare gli attivatori, 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 dell'attivatore in tutte le località.

REST

Per elencare gli attivatori in un determinato progetto e posizione, utilizza il metodo projects.locations.triggers.list.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: il tuo Google Cloud ID progetto.
  • LOCATION: la regione in cui vengono creati gli attivatori, ad esempio us-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 attivatore in una posizione specifica.

Console

  1. Nella console Google Cloud, vai alla pagina Eventarc Trigger.

    Vai ai trigger

  2. Nell'elenco dei trigger, fai clic sul trigger di cui vuoi conoscere i dettagli.

La pagina Dettagli trigger mostra i dettagli dell'attivatore, 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 dell'attivatore o un identificatore completamente qualificato.
  • LOCATION: la posizione dell'attivatore Eventarc.

Questo comando restituisce informazioni sull'attivatore 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 attivatore in un determinato progetto e 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 Google Cloud ID progetto.
  • LOCATION: la regione in cui viene creato l'attivatore, ad esempio us-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 dell'attivatore indica un problema con l'argomento Pub/Sub, consulta L'attivatore non invia eventi.

Aggiornare un attivatore

Puoi aggiornare un attivatore per Cloud Run, Google Kubernetes Engine (GKE) e le destinazioni di Workflows. A seconda della destinazione, è possibile aggiornare campi specifici.

Console

  1. Nella console Google Cloud, vai alla pagina Eventarc Trigger.

    Vai ai trigger

  2. Nell'elenco dei trigger, fai clic sul trigger di cui vuoi conoscere i dettagli.

  3. Nella pagina Dettagli trigger, fai clic su Modifica.

  4. Modifica i campi in base alle necessità e fai clic su Salva.

    Tieni presente che non puoi aggiornare i campi non disponibili, come Fornitore evento e Destinazione evento. Per ulteriori informazioni sui campi, consulta le istruzioni della console per un provider, 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 dell'attivatore o un identificatore completamente qualificato.
  • LOCATION: la posizione dell'attivatore 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 in methodName=storage.objects.delete. Tieni presente che, una volta creato un attivatore, il filtro evento type non può essere modificato. Per un tipo di evento diverso, devi creare un nuovo attivatore.
  • NEW_SERVICE_ACCOUNT: l'indirizzo email dell'account di servizio Identity and Access Management (IAM) associato all'attivatore.
  • 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 l'attivatore.
  • NEW_PATH: il percorso relativo sul servizio Cloud Run 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ò essere application/json o application/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 l'account di servizio di un attivatore denominato my-cloud-run-trigger in 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 dell'attivatore o un identificatore completamente qualificato.
  • LOCATION: la posizione dell'attivatore 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 l'attivatore.
  • NEW_PATH: il percorso relativo sul 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ò essere application/json o application/protobuf.

Ad esempio, per aggiornare il servizio di ricezione di eventi per un attivatore:

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 in 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 dell'attivatore o un identificatore completamente qualificato.
  • LOCATION: la posizione dell'attivatore 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 in methodName=storage.objects.delete. Tieni presente che, una volta creato un attivatore, il filtro evento type non può essere modificato. Per un tipo di evento diverso, devi creare un nuovo attivatore.
  • NEW_SERVICE_ACCOUNT: l'indirizzo email dell'account di servizio Identity and Access Management (IAM) associato all'attivatore.
  • NEW_DESTINATION_WORKFLOW: l'ID del workflow di cui è stato eseguito il deployment che riceve gli eventi dall'attivatore.
  • NEW_DESTINATION_WORKFLOW_LOCATION: la posizione in cui viene eseguito il deployment del flusso di lavoro di destinazione.
  • NEW_EVENT_DATA_TYPE: la codifica del payload dell'evento. A seconda del fornitore dell'evento, può essere application/json o application/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 l'account di servizio di un attivatore denominato my-workflows-trigger in new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com.

REST

Per aggiornare un attivatore 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 dell'attivatore che vuoi aggiornare.
  • PROJECT_ID: il tuo Google Cloud ID progetto.
  • LOCATION: la regione in cui viene creato l'attivatore, ad esempio us-central1.
  • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: facoltativo. L'indirizzo email dell'account di servizio Identity and Access Management (IAM) associato all'attivatore.
  • DESTINATION: facoltativo. Specifica il target a cui deve essere inviato l'evento e contiene un'istanza di Destination. 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 eventi in base ai quali applicare il filtro. È supportato solo l'aggiornamento del tipo di metodo per gli attivatori degli audit log di Cloud. 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ò essere application/json o application/protobuf.
  • UPDATE_FIELDS: facoltativo. Un elenco di campi da aggiornare separati da virgole. Se non viene fornito, vengono aggiornati tutti i campi della 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

  1. Nella console Google Cloud, vai alla pagina Eventarc Trigger.

    Vai ai trigger

  2. Seleziona l'attivatore e fai clic su Elimina.

gcloud

gcloud eventarc triggers delete TRIGGER

Sostituisci TRIGGER con l'ID dell'attivatore o con un identificativo completamente qualificato.

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 Google Cloud ID progetto.
  • LOCATION: la regione in cui viene creato l'attivatore, ad esempio us-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.

Passaggi successivi