É possível gerenciar gatilhos usando o console do Google Cloud ou a CLI do Google Cloud no seu terminal ou no Cloud Shell. Também é possível gerenciar gatilhos pela API Eventarc.
Listar gatilhos
É possível listar, filtrar e classificar os acionadores em todos os locais.
Console
No Console do Google Cloud, acesse a página Gatilhos do Eventarc.
Essa página lista todos os gatilhos no projeto para todos os locais e inclui detalhes como o nome do gatilho, a região, o provedor de eventos, o destino e o tipo de evento.
Para filtrar gatilhos de acordo com uma propriedade específica:
- Clique na caixa Filtro .
- Na lista de Propriedades, selecione uma opção para filtrar os gatilhos, por exemplo, Nome ou Canal de eventos.
É possível selecionar uma única propriedade para a filtragem ou usar o operador lógico
OR
a fim de adicionar várias.Para classificar os gatilhos, clique em
Classificar ao lado do título da coluna apropriada.Apenas algumas colunas são classificáveis, por exemplo, Nome, Região ou Canal de eventos.
gcloud
gcloud eventarc triggers list --location=-
Esse comando lista o nome, o tipo, o destino e o status do gatilho em todos os locais.
REST
Para listar gatilhos em um determinado projeto e local, use o método projects.locations.triggers.list
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do projeto do Google Cloud.LOCATION
: a região em que os gatilhos são criados, por exemplo,us-central1
.
Para enviar a solicitação, expanda uma destas opções:
Se bem-sucedido, o corpo da resposta conterá instâncias de Trigger
e a resposta será semelhante a esta:
{ "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 ] }
Descrever um gatilho
Descreva um acionador em um local específico.
Console
No Console do Google Cloud, acesse a página Gatilhos do Eventarc.
Na lista de gatilhos, clique naqueles sobre os quais você quer mais detalhes.
A página Detalhes do gatilho mostra as informações de um gatilho, como nome, região, provedor de eventos, tipo de evento, dados do evento, tipo de conteúdo e destino.
gcloud
gcloud eventarc triggers describe TRIGGER \ --location=LOCATION
Substitua:
TRIGGER
: o ID do gatilho ou um identificador totalmente qualificado.LOCATION
: o local do gatilho do Eventarc.
Esse comando retorna informações sobre o gatilho, como as seguintes:
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
Para descrever um gatilho em um determinado projeto e local, use o método projects.locations.triggers.get
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
TRIGGER_NAME
: o nome do gatilho que você quer descrever.PROJECT_ID
: o ID do projeto do Google Cloud.LOCATION
: a região onde o gatilho é criado, por exemplo,us-central1
.
Para enviar a solicitação, expanda uma destas opções:
Se houver êxito, o corpo da resposta conterá uma instância de Trigger
semelhante a esta:
{ "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 a condição do gatilho indicar um problema com o tópico do Pub/Sub, consulte O gatilho não está entregando eventos.
Atualizar um gatilho
É possível atualizar um gatilho para destinos do Cloud Run, do Google Kubernetes Engine (GKE) e do Workflows. Dependendo do destino, campos específicos podem ser atualizados.
Console
No Console do Google Cloud, acesse a página Gatilhos do Eventarc.
Na lista de gatilhos, clique naqueles sobre os quais você quer mais detalhes.
Na página Detalhes do gatilho, clique em
Editar.Edite os campos conforme necessário e clique em Salvar.
Não é possível atualizar campos indisponíveis, como Provedor de eventos e Destino do evento. Para mais informações sobre esses campos, consulte as instruções do Console para provedores, tipos de evento e destinos específicos.
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"
Substitua:
TRIGGER
: o ID do gatilho ou um identificador totalmente qualificado.LOCATION
: o local do gatilho do Eventarc.
Você pode atualizar qualquer um dos seguintes itens:
NEW_EVENT_FILTERS
: o filtro usado para configurar o roteamento de eventos do gatilho. Por exemplo,methodName=storage.objects.create
pode ser atualizado paramethodName=storage.objects.delete
. Após a criação de um gatilho, o filtro de eventostype
não pode ser alterado. Para um tipo de evento diferente, crie um novo gatilho.NEW_SERVICE_ACCOUNT
: o e-mail da conta de serviço do Identity and Access Management (IAM) associado ao gatilho.NEW_REGION
: a região em que o serviço de destino do Cloud Run pode ser encontrado.NEW_SERVICE
: o nome do serviço do Cloud Run que recebe os eventos do gatilho.NEW_PATH
: o caminho relativo no serviço de destino do Cloud Run para o qual os eventos do gatilho são enviados.NEW_EVENT_DATA_TYPE
: a codificação do payload do evento. Dependendo do provedor de eventos, pode serapplication/json
ouapplication/protobuf
.
Por exemplo, para atualizar a conta de serviço com relação a um gatilho:
gcloud eventarc triggers update my-cloud-run-trigger \
--service-account=new-serviceaccount@${PROJECT_ID}.iam.gserviceaccount.com
Esse comando atualiza a conta de serviço de um gatilho chamado
my-cloud-run-trigger
para
new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com
.
GKE
Esta seção também se aplica aos endpoints públicos de serviços particulares e públicos em execução em um cluster do 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"
Substitua:
TRIGGER
: o ID do gatilho ou um identificador totalmente qualificado.LOCATION
: o local do gatilho do Eventarc.
Você pode atualizar qualquer um dos seguintes itens:
NEW_NAMESPACE
: o namespace em que o serviço de destino do GKE está em execução.NEW_SERVICE
: o nome do serviço do GKE que recebe os eventos do gatilho.NEW_PATH
: o caminho relativo no serviço de destino do GKE para onde os eventos do gatilho são enviados.NEW_EVENT_DATA_TYPE
: a codificação do payload do evento. Dependendo do provedor de eventos, pode serapplication/json
ouapplication/protobuf
.
Por exemplo, para atualizar o serviço receptor de eventos de um gatilho:
gcloud eventarc triggers update my-gke-trigger \
--destination-gke-service=helloworld-events
Esse comando atualiza o serviço receptor de eventos de um gatilho chamado
my-gke-trigger
para um serviço do GKE chamado
helloworld-events
.
Fluxos de trabalho
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"
Substitua:
TRIGGER
: o ID do gatilho ou um identificador totalmente qualificado.LOCATION
: o local do gatilho do Eventarc.
Você pode atualizar qualquer um dos seguintes itens:
NEW_EVENT_FILTERS
: o filtro usado para configurar o roteamento de eventos do gatilho. Por exemplo,methodName=storage.objects.create
pode ser atualizado paramethodName=storage.objects.delete
. Após a criação de um gatilho, o filtro de eventostype
não pode ser alterado. Para um tipo de evento diferente, crie um novo gatilho.NEW_SERVICE_ACCOUNT
: o e-mail da conta de serviço do Identity and Access Management (IAM) associado ao gatilho.NEW_DESTINATION_WORKFLOW
: o ID do fluxo de trabalho implantado que recebe os eventos do gatilho.NEW_DESTINATION_WORKFLOW_LOCATION
: o local em que o fluxo de trabalho de destino é implantado.NEW_EVENT_DATA_TYPE
: a codificação do payload do evento. Dependendo do provedor de eventos, pode serapplication/json
ouapplication/protobuf
.
Por exemplo, para atualizar a conta de serviço com relação a um gatilho:
gcloud eventarc triggers update my-workflows-trigger \
--service-account=new-serviceaccount@${PROJECT_ID}.iam.gserviceaccount.com
Esse comando atualiza a conta de serviço de um gatilho chamado
my-workflows-trigger
para
new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com
.
REST
Para atualizar um gatilho que já existe, use o método projects.locations.triggers.patch e, se preferir, use o parâmetro de consulta updateMask
para especificar uma lista de campos a serem atualizados.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
TRIGGER_NAME
: o nome do gatilho que você quer atualizar.PROJECT_ID
: o ID do projeto do Google Cloud.LOCATION
: a região onde o gatilho é criado, por exemplo,us-central1
.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: opcional. O e-mail da conta de serviço do Identity and Access Management (IAM) associado ao gatilho.DESTINATION
: opcional. Especifica o destino para onde o evento deve ser enviado e contém uma instância deDestination
. Exemplo:{"destination": {"workflow": "projects/my-project/locations/us-central1/workflows/my-first-workflow"}}
ou
{"destination": {"cloudRun": {"service": "hello-world", "region": "us-central1"}}}
EVENT_FILTER
: opcional. Os atributos do evento a serem filtrados. Só é possível atualizar o tipo de método para gatilhos dos Registros de auditoria do Cloud. Exemplo:{"eventFilters": [{"attribute": "methodName", "value": "storage.buckets.create"}, {"attribute": "type", "value": "google.cloud.audit.log.v1.written"}, {"attribute": "serviceName", "value": "storage.googleapis.com"}]}
Não é possível atualizar tipos de método para destinos do GKE.
CONTENT_TYPE
: opcional. A codificação do payload do evento. Dependendo do provedor de eventos, pode serapplication/json
ouapplication/protobuf
.UPDATE_FIELDS
: opcional. Uma lista separada por vírgulas de campos a serem atualizados. Se não forem informados, todos os campos informados na solicitação serão atualizados. Por exemplo:serviceAccount,destination
Corpo JSON da solicitação:
{ "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com", "destination": DESTINATION, "eventFilters" EVENT_FILTER, "eventDataContentType": "CONTENT_TYPE" }
Para enviar a solicitação, expanda uma destas opções:
Se houver êxito, o corpo da resposta conterá uma instância de 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 o valor de "done"
for false
, a operação ainda estará em andamento.
Excluir um gatilho
É possível excluir um gatilho.
Console
No Console do Google Cloud, acesse a página Gatilhos do Eventarc.
Selecione o gatilho e clique em
Excluir.
gcloud
gcloud eventarc triggers delete TRIGGER
Substitua TRIGGER
pelo ID do gatilho ou por um
identificador totalmente qualificado.
REST
Para excluir um gatilho com um nome especificado, use o método projects.locations.triggers.delete
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do projeto do Google Cloud.LOCATION
: a região onde o gatilho é criado, por exemplo,us-central1
.TRIGGER_NAME
: o nome do gatilho que você quer excluir.
Para enviar a solicitação, expanda uma destas opções:
Se houver êxito, o corpo da resposta conterá uma instância de 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 o valor de "done"
for false
, a operação ainda estará em andamento.