Pode gerir os acionadores através da Google Cloud consola ou da Google Cloud CLI no seu terminal ou no Cloud Shell. Também pode gerir acionadores através da API Eventarc.
Liste os acionadores
Pode listar, filtrar e ordenar os seus acionadores em todas as localizações.
Consola
Na Google Cloud consola, aceda à página Triggers do Eventarc.
Esta página apresenta todos os acionadores no seu projeto para todas as localizações e inclui detalhes como o nome do acionador, a região, o fornecedor de eventos, o destino e o tipo de evento.
Para filtrar os acionadores por uma propriedade específica:
- Clique na caixa Filtrar.
- Na lista de Propriedades, selecione uma opção para filtrar os acionadores por, por exemplo, Nome ou Canal do evento.
Pode selecionar uma única propriedade ou usar o operador lógico
OR
para adicionar mais propriedades pelas quais filtrar.Para ordenar os acionadores, clique em
Ordenar junto ao cabeçalho da coluna adequado.Apenas algumas colunas são ordenáveis, por exemplo, Nome, Região ou Canal do evento.
gcloud
gcloud eventarc triggers list --location=-
Este comando lista o nome, o tipo, o destino e o estado do acionador em todas as localizações.
REST
Para listar acionadores num determinado projeto e localização, use o método
projects.locations.triggers.list
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu Google Cloud projeto.LOCATION
: a região na qual os acionadores são criados. Por exemplo,us-central1
.
Para enviar o seu pedido, expanda uma destas opções:
Se for bem-sucedido, o corpo da resposta contém instâncias de
Trigger
e a resposta deve ser semelhante à seguinte:
{ "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 ] }
Descreva um acionador
Pode descrever um acionador numa localização específica.
Consola
Na Google Cloud consola, aceda à página Triggers do Eventarc.
Na lista de acionadores, clique no acionador cujos detalhes quer saber.
A página Detalhes do acionador apresenta os detalhes do acionador, como o nome, a região, o fornecedor de eventos, o tipo de evento, o tipo de conteúdo dos dados do evento e o destino.
gcloud
gcloud eventarc triggers describe TRIGGER \ --location=LOCATION
Substitua o seguinte:
TRIGGER
: o ID do acionador ou um identificador totalmente qualificado.LOCATION
: a localização do acionador do Eventarc.
Este comando devolve informações sobre o acionador semelhantes às 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: [email protected]
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 acionador num determinado projeto e localização, use o método
projects.locations.triggers.get
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
TRIGGER_NAME
: o nome do acionador que quer descrever.PROJECT_ID
: o ID do seu Google Cloud projeto.LOCATION
: a região na qual o acionador é criado, por exemplo,us-central1
.
Para enviar o seu pedido, expanda uma destas opções:
Se for bem-sucedido, o corpo da resposta contém uma instância de
Trigger
semelhante à seguinte:
{ "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 acionador indicar um problema com o tópico do Pub/Sub, consulte o artigo O acionador não está a enviar eventos.
Atualize um acionador
Pode atualizar um acionador para destinos do Cloud Run, Google Kubernetes Engine (GKE) e Workflows. Consoante o destino, é possível atualizar campos específicos.
Consola
Na Google Cloud consola, aceda à página Triggers do Eventarc.
Na lista de acionadores, clique no acionador cujos detalhes quer saber.
Na página Detalhes do acionador, clique em
Editar.Edite os campos conforme necessário e clique em Guardar.
Tenha em atenção que não pode atualizar nenhum campo indisponível, como o Fornecedor de eventos e o Destino do evento. Para mais informações sobre os campos, consulte as instruções da consola para um fornecedor, um tipo de evento e um destino 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 o seguinte:
TRIGGER
: o ID do acionador ou um identificador totalmente qualificado.LOCATION
: a localização do acionador do Eventarc.
Pode atualizar qualquer um dos seguintes elementos:
NEW_EVENT_FILTERS
: o filtro usado para configurar o encaminhamento de eventos do acionador; por exemplo,methodName=storage.objects.create
pode ser atualizado paramethodName=storage.objects.delete
. Tenha em atenção que, depois de criar um acionador, não é possível alterar o filtro de eventostype
. Para um tipo de evento diferente, tem de criar um novo acionador.NEW_SERVICE_ACCOUNT
: o email da conta de serviço do Identity and Access Management (IAM) associado ao acionador.NEW_REGION
: a região na qual o serviço do Cloud Run de destino pode ser encontrado.NEW_SERVICE
: o nome do serviço do Cloud Run que recebe os eventos para o acionador.NEW_PATH
: o caminho relativo no serviço de execução na nuvem de destino para o qual os eventos do acionador devem ser enviados.NEW_EVENT_DATA_TYPE
: a codificação da carga útil do evento. Consoante o fornecedor de eventos, pode serapplication/json
ouapplication/protobuf
.
Por exemplo, para atualizar a conta de serviço de um acionador:
gcloud eventarc triggers update my-cloud-run-trigger \
--service-account=new-serviceaccount@${PROJECT_ID}.iam.gserviceaccount.com
Este comando atualiza a conta de serviço de um acionador denominado
my-cloud-run-trigger
para
new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com
.
GKE
Tenha em atenção que esta secção também se aplica aos pontos finais públicos de serviços privados e públicos executados num 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 o seguinte:
TRIGGER
: o ID do acionador ou um identificador totalmente qualificado.LOCATION
: a localização do acionador do Eventarc.
Pode atualizar qualquer um dos seguintes elementos:
NEW_NAMESPACE
: o namespace no qual o serviço GKE de destino está em execução.NEW_SERVICE
: o nome do serviço GKE que recebe os eventos para o acionador.NEW_PATH
: o caminho relativo no serviço GKE de destino para o qual os eventos do acionador devem ser enviados.NEW_EVENT_DATA_TYPE
: a codificação da carga útil do evento. Consoante o fornecedor de eventos, pode serapplication/json
ouapplication/protobuf
.
Por exemplo, para atualizar o serviço de receção de eventos de um acionador:
gcloud eventarc triggers update my-gke-trigger \
--destination-gke-service=helloworld-events
Este comando atualiza o serviço de receção de eventos para um acionador denominado
my-gke-trigger
para um serviço GKE denominado
helloworld-events
.
Workflows
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 o seguinte:
TRIGGER
: o ID do acionador ou um identificador totalmente qualificado.LOCATION
: a localização do acionador do Eventarc.
Pode atualizar qualquer um dos seguintes elementos:
NEW_EVENT_FILTERS
: o filtro usado para configurar o encaminhamento de eventos do acionador; por exemplo,methodName=storage.objects.create
pode ser atualizado paramethodName=storage.objects.delete
. Tenha em atenção que, depois de criar um acionador, não é possível alterar o filtro de eventostype
. Para um tipo de evento diferente, tem de criar um novo acionador.NEW_SERVICE_ACCOUNT
: o email da conta de serviço do Identity and Access Management (IAM) associado ao acionador.NEW_DESTINATION_WORKFLOW
: o ID do fluxo de trabalho implementado que recebe os eventos do acionador.NEW_DESTINATION_WORKFLOW_LOCATION
: a localização em que o fluxo de trabalho de destino está implementado.NEW_EVENT_DATA_TYPE
: a codificação da carga útil do evento. Consoante o fornecedor de eventos, pode serapplication/json
ouapplication/protobuf
.
Por exemplo, para atualizar a conta de serviço de um acionador:
gcloud eventarc triggers update my-workflows-trigger \
--service-account=new-serviceaccount@${PROJECT_ID}.iam.gserviceaccount.com
Este comando atualiza a conta de serviço de um acionador denominado
my-workflows-trigger
para
new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com
.
REST
Para atualizar um acionador existente, use o método
projects.locations.triggers.patch e, opcionalmente, use o parâmetro de consulta updateMask
para especificar uma lista
de campos a serem atualizados.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
TRIGGER_NAME
: o nome do acionador que quer atualizar.PROJECT_ID
: o ID do seu Google Cloud projeto.LOCATION
: a região na qual o acionador é criado, por exemplo,us-central1
.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: opcional. O email da conta de serviço de gestão de identidade e de acesso (IAM) associado ao acionador.DESTINATION
: opcional. Especifica o destino para onde o evento deve ser enviado e contém uma instância deDestination
. Por 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 de eventos a filtrar. Apenas é suportada a atualização do tipo de método para acionadores dos registos de auditoria da nuvem. Por exemplo:{"eventFilters": [{"attribute": "methodName", "value": "storage.buckets.create"}, {"attribute": "type", "value": "google.cloud.audit.log.v1.written"}, {"attribute": "serviceName", "value": "storage.googleapis.com"}]}
Tenha em atenção que não pode atualizar os tipos de métodos para destinos do GKE.
CONTENT_TYPE
: opcional. A codificação do payload do evento. Consoante o fornecedor de eventos, pode serapplication/json
ouapplication/protobuf
.UPDATE_FIELDS
: opcional. Uma lista separada por vírgulas de campos a atualizar. Se não for fornecido, todos os campos fornecidos no pedido são atualizados. Por exemplo:serviceAccount,destination
Corpo JSON do pedido:
{ "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com", "destination": DESTINATION, "eventFilters" EVENT_FILTER, "eventDataContentType": "CONTENT_TYPE" }
Para enviar o seu pedido, expanda uma destas opções:
Se for bem-sucedido, o corpo da resposta contém uma instância recém-criada 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 está em curso.
Elimine um acionador
Pode eliminar um acionador.
Consola
Na Google Cloud consola, aceda à página Triggers do Eventarc.
Selecione o acionador e clique em
Eliminar.
gcloud
gcloud eventarc triggers delete TRIGGER
Substitua TRIGGER
pelo ID do acionador ou por um identificador totalmente qualificado.
REST
Para eliminar um acionador com um nome especificado, use o método
projects.locations.triggers.delete
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu Google Cloud projeto.LOCATION
: a região na qual o acionador é criado, por exemplo,us-central1
.TRIGGER_NAME
: o nome do acionador que quer eliminar.
Para enviar o seu pedido, expanda uma destas opções:
Se for bem-sucedido, o corpo da resposta contém 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 está em curso.