Puedes gestionar los activadores mediante la Google Cloud consola o la CLI de Google Cloud en tu terminal o en Cloud Shell. También puedes gestionar los activadores a través de la API de Eventarc.
Mostrar activadores
Puedes enumerar, filtrar y ordenar tus activadores en todas las ubicaciones.
Consola
En la Google Cloud consola, ve a la página Triggers (Activadores) de Eventarc.
En esta lista se muestran todos los activadores de tu proyecto en todas las ubicaciones, así como detalles como el nombre del activador, la región, el proveedor de eventos, el destino y el tipo de evento.
Para filtrar los activadores por una propiedad específica, siga estos pasos:
- Haz clic en el cuadro Filtrar.
- En la lista Propiedades, selecciona una opción para filtrar los activadores (por ejemplo, Nombre o Canal de eventos).
Puede seleccionar una sola propiedad o usar el operador lógico
OR
para añadir más propiedades por las que filtrar.Para ordenar los activadores, haz clic en
Ordenar junto al encabezado de columna correspondiente.Solo se pueden ordenar algunas columnas, como Nombre, Región o Canal de eventos.
gcloud
gcloud eventarc triggers list --location=-
Este comando muestra el nombre, el tipo, el destino y el estado del activador en todas las ubicaciones.
REST
Para enumerar los activadores de un proyecto y una ubicación concretos, usa el método projects.locations.triggers.list
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID
: tu ID de proyecto Google Cloud.LOCATION
: la región en la que se crean los activadores. Por ejemplo,us-central1
.
Para enviar tu solicitud, despliega una de estas opciones:
Si la salida del comando es correcta, en el cuerpo de la respuesta se incluirán instancias de Trigger
y la respuesta debería ser similar a la siguiente:
{ "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 ] }
Describir un activador
Puedes describir un activador en una ubicación específica.
Consola
En la Google Cloud consola, ve a la página Triggers (Activadores) de Eventarc.
En la lista de activadores, haz clic en el activador del que quieras obtener información.
En la página Detalles del activador se muestran los detalles del activador, como el nombre, la región, el proveedor de eventos, el tipo de evento, el tipo de contenido de los datos del evento y el destino.
gcloud
gcloud eventarc triggers describe TRIGGER \ --location=LOCATION
Haz los cambios siguientes:
TRIGGER
: el ID del activador o un identificador completo.LOCATION
: la ubicación del activador de Eventarc.
Este comando devuelve información sobre el activador similar a la siguiente:
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 describir un activador en un proyecto y una ubicación determinados, usa el método projects.locations.triggers.get
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
TRIGGER_NAME
: el nombre del activador que quieras describir.PROJECT_ID
: tu ID de proyecto Google Cloud.LOCATION
: la región en la que se crea el activador. Por ejemplo,us-central1
.
Para enviar tu solicitud, despliega una de estas opciones:
Si la solicitud se hace correctamente, el cuerpo de la respuesta contiene una instancia de Trigger
similar a la siguiente:
{ "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" } } }
Si la condición del activador indica que hay un problema con el tema de Pub/Sub, consulta El activador no envía eventos.
Actualizar un activador
Puedes actualizar un activador para los destinos de Cloud Run, Google Kubernetes Engine (GKE) y Workflows. En función del destino, se pueden actualizar campos específicos.
Consola
En la Google Cloud consola, ve a la página Triggers (Activadores) de Eventarc.
En la lista de activadores, haz clic en el activador del que quieras obtener información.
En la página Detalles del activador, haz clic en
Editar.Edite los campos según sea necesario y haga clic en Guardar.
Tenga en cuenta que no puede actualizar ningún campo no disponible, como Proveedor de eventos y Destino de eventos. Para obtener más información sobre los campos, consulta las instrucciones de la consola para un proveedor, un tipo de evento y un 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"
Haz los cambios siguientes:
TRIGGER
: el ID del activador o un identificador completo.LOCATION
: la ubicación del activador de Eventarc.
Puede actualizar cualquiera de los siguientes elementos:
NEW_EVENT_FILTERS
: el filtro que se usa para configurar el enrutamiento de eventos del activador. Por ejemplo,methodName=storage.objects.create
se puede actualizar amethodName=storage.objects.delete
. Ten en cuenta que, una vez creado un activador, no se puede cambiar el filtro de eventostype
. Si quieres usar otro tipo de evento, debes crear un nuevo activador.NEW_SERVICE_ACCOUNT
: la dirección de correo de la cuenta de servicio de gestión de identidades y accesos (IAM) asociada al activador.NEW_REGION
: la región en la que se encuentra el servicio de Cloud Run de destino.NEW_SERVICE
: el nombre del servicio de Cloud Run que recibe los eventos del activador.NEW_PATH
: ruta relativa del servicio de Cloud Run de destino al que se deben enviar los eventos del activador.NEW_EVENT_DATA_TYPE
: la codificación de la carga útil del evento. En función del proveedor del evento, puede serapplication/json
oapplication/protobuf
.
Por ejemplo, para actualizar la cuenta de servicio de un activador, sigue estos pasos:
gcloud eventarc triggers update my-cloud-run-trigger \
--service-account=new-serviceaccount@${PROJECT_ID}.iam.gserviceaccount.com
Este comando actualiza la cuenta de servicio de un activador llamado
my-cloud-run-trigger
a
new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com
.
GKE
Ten en cuenta que esta sección también se aplica a los endpoints públicos de los servicios privados y públicos que se ejecutan en un clúster de 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"
Haz los cambios siguientes:
TRIGGER
: el ID del activador o un identificador completo.LOCATION
: la ubicación del activador de Eventarc.
Puede actualizar cualquiera de los siguientes elementos:
NEW_NAMESPACE
: el espacio de nombres en el que se ejecuta el servicio de GKE de destino.NEW_SERVICE
: el nombre del servicio de GKE que recibe los eventos del activador.NEW_PATH
: la ruta relativa del servicio de GKE de destino al que se deben enviar los eventos del activador.NEW_EVENT_DATA_TYPE
: la codificación de la carga útil del evento. En función del proveedor del evento, puede serapplication/json
oapplication/protobuf
.
Por ejemplo, para actualizar el servicio de receptor de eventos de un activador, sigue estos pasos:
gcloud eventarc triggers update my-gke-trigger \
--destination-gke-service=helloworld-events
Este comando actualiza el servicio receptor de eventos de un activador llamado my-gke-trigger
a un servicio de GKE llamado helloworld-events
.
Flujos de trabajo
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"
Haz los cambios siguientes:
TRIGGER
: el ID del activador o un identificador completo.LOCATION
: la ubicación del activador de Eventarc.
Puede actualizar cualquiera de los siguientes elementos:
NEW_EVENT_FILTERS
: el filtro que se usa para configurar el enrutamiento de eventos del activador. Por ejemplo,methodName=storage.objects.create
se puede actualizar amethodName=storage.objects.delete
. Ten en cuenta que, una vez que se ha creado un activador, no se puede cambiar el filtro de eventostype
. Si quieres usar otro tipo de evento, debes crear un nuevo activador.NEW_SERVICE_ACCOUNT
: la dirección de correo de la cuenta de servicio de gestión de identidades y accesos (IAM) asociada al activador.NEW_DESTINATION_WORKFLOW
: el ID del flujo de trabajo implementado que recibe los eventos del activador.NEW_DESTINATION_WORKFLOW_LOCATION
: la ubicación en la que se implementa el flujo de trabajo de destino.NEW_EVENT_DATA_TYPE
: la codificación de la carga útil del evento. En función del proveedor del evento, puede serapplication/json
oapplication/protobuf
.
Por ejemplo, para actualizar la cuenta de servicio de un activador, sigue estos pasos:
gcloud eventarc triggers update my-workflows-trigger \
--service-account=new-serviceaccount@${PROJECT_ID}.iam.gserviceaccount.com
Este comando actualiza la cuenta de servicio de un activador llamado
my-workflows-trigger
a
new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com
.
REST
Para actualizar un activador, usa el método
projects.locations.triggers.patch
y, opcionalmente, el parámetro de consulta updateMask
para especificar una lista
de campos que se van a actualizar.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
TRIGGER_NAME
: el nombre del activador que quieras actualizar.PROJECT_ID
: tu ID de proyecto Google Cloud.LOCATION
: la región en la que se crea el activador. Por ejemplo,us-central1
.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: opcional. La dirección de correo de la cuenta de servicio de Gestión de Identidades y Accesos (IAM) asociada al activador.DESTINATION
: opcional. Especifica el destino al que se debe enviar el evento y contiene una instancia deDestination
. Por ejemplo:{"destination": {"workflow": "projects/my-project/locations/us-central1/workflows/my-first-workflow"}}
o
{"destination": {"cloudRun": {"service": "hello-world", "region": "us-central1"}}}
EVENT_FILTER
: opcional. Atributos de evento por los que filtrar. Solo se admite la actualización del tipo de método de los activadores de registros de auditoría de Cloud. Por ejemplo:{"eventFilters": [{"attribute": "methodName", "value": "storage.buckets.create"}, {"attribute": "type", "value": "google.cloud.audit.log.v1.written"}, {"attribute": "serviceName", "value": "storage.googleapis.com"}]}
Ten en cuenta que no puedes actualizar los tipos de método de los destinos de GKE.
CONTENT_TYPE
: opcional. La codificación de la carga útil del evento. En función del proveedor del evento, puede serapplication/json
oapplication/protobuf
.UPDATE_FIELDS
: opcional. Lista de campos separados por comas que se van a actualizar. Si no se proporciona, se actualizan todos los campos proporcionados en la solicitud. Por ejemplo:serviceAccount,destination
Cuerpo JSON de la solicitud:
{ "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com", "destination": DESTINATION, "eventFilters" EVENT_FILTER, "eventDataContentType": "CONTENT_TYPE" }
Para enviar tu solicitud, despliega una de estas opciones:
Si la solicitud se completa correctamente, en el cuerpo de la respuesta se incluye una instancia recién creada 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 }
Si el valor de "done"
es false
, la operación sigue en curso.
Eliminar un activador
Puedes eliminar un activador.
Consola
En la Google Cloud consola, ve a la página Triggers (Activadores) de Eventarc.
Selecciona el activador y haz clic en
Eliminar.
gcloud
gcloud eventarc triggers delete TRIGGER
Sustituye TRIGGER
por el ID del activador o por un identificador completo.
REST
Para eliminar un activador con un nombre específico, usa el método projects.locations.triggers.delete
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID
: tu ID de proyecto Google Cloud.LOCATION
: la región en la que se crea el activador. Por ejemplo,us-central1
.TRIGGER_NAME
: el nombre del activador que quieras eliminar.
Para enviar tu solicitud, despliega una de estas opciones:
Si la salida del comando es correcta, en el cuerpo de la respuesta se incluirá una instancia 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 }
Si el valor de "done"
es false
, la operación sigue en curso.