Puedes administrar activadores a través de la consola de Google Cloud o Google Cloud CLI en la terminal o en Cloud Shell. También puedes administrar activadores a través de la API de Eventarc.
Enumera activadores
Puedes enumerar, filtrar y ordenar los activadores en todas las ubicaciones.
Console
En la consola de Google Cloud, ve a la página Activadores de Eventarc.
Esto enumera todos los activadores de tu proyecto para todas las ubicaciones y además incluye detalles como el nombre del activador, la región, el proveedor de eventos, el destino y el tipo de evento.
Para filtrar tus activadores según una propiedad específica, haz lo siguiente:
- Haz clic en la casilla Filtro .
- En la lista de Propiedades, elige una opción para filtrar los activadores, por ejemplo, Nombre o Canal de eventos.
Puedes elegir una sola propiedad o usar el operador lógico
OR
para agregar más propiedades para filtrar.Para ordenar los activadores, haz clic en
Ordenar junto al encabezado de la columna correspondiente.Solo algunas columnas se pueden ordenar, por ejemplo, Nombre, Región o Canal de eventos.
gcloud
gcloud eventarc triggers list --location=-
Este comando enumera el nombre, tipo, destino y estado del activador en todas las ubicaciones.
REST
Para enumerar los activadores en una ubicación y un proyecto determinados, usa el
método projects.locations.triggers.list
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: el ID del proyecto de Google Cloud.LOCATION
: la región en la que se crean los activadores, por ejemplo,us-central1
.
Para enviar tu solicitud, expande una de estas opciones:
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene instancias de
Trigger
y la respuesta debe 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 ] }
Describe un activador
Puedes describir un activador en una ubicación específica.
Console
En la consola de Google Cloud, ve a la página Activadores de Eventarc.
En la lista de activadores, haz clic en el activador cuyos detalles deseas conocer.
En la página Detalles del activador, se muestran los detalles del activador como su nombre, región, proveedor de eventos, tipo de evento, tipo de contenido de datos del evento y destino.
gcloud
gcloud eventarc triggers describe TRIGGER \ --location=LOCATION
Reemplaza lo siguiente:
TRIGGER
: el ID del activador o un identificador completamente calificado.LOCATION
: la ubicación del activador de Eventarc.
Con este comando, se muestra información sobre el activador que es similar al 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 cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
TRIGGER_NAME
: el nombre del activador que deseas describir.PROJECT_ID
: el ID del proyecto de Google Cloud.LOCATION
: la región en la que se crea el activador, por ejemplo,us-central1
.
Para enviar tu solicitud, expande una de estas opciones:
Si se ejecuta de forma correcta, 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 un problema con el tema de Pub/Sub, consulta El activador no entrega eventos.
Actualiza un activador
Puedes actualizar un activador de Cloud Run, Google Kubernetes Engine (GKE) y destinos de Workflows. Según el destino, se pueden actualizar campos específicos.
Console
En la consola de Google Cloud, ve a la página Activadores de Eventarc.
En la lista de activadores, haz clic en el activador cuyos detalles deseas conocer.
En la página de detalles del activador, haz clic en
Cambiar.Cambia los campos según sea necesario y haz clic en Guardar.
Ten en cuenta que no puedes actualizar ningún campo no disponible, como Proveedor de eventos, y Destino del evento. Para obtener más información sobre los campos, consulta las instrucciones de Console de un proveedor específico, un tipo de evento y un destino.
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"
Reemplaza lo siguiente:
TRIGGER
: el ID del activador o un identificador completamente calificado.LOCATION
: la ubicación del activador de Eventarc.
Puedes actualizar cualquiera de las siguientes opciones:
NEW_EVENT_FILTERS
: Es 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 después de crear un activador, el filtro de eventotype
no se puede cambiar. Para un tipo de evento diferente, debes crear un activador nuevo.NEW_SERVICE_ACCOUNT
: Es el correo electrónico de la cuenta de servicio de Identity and Access Management (IAM) asociado con el activador.NEW_REGION
: la región en la que se puede encontrar el servicio de Cloud Run de destino.NEW_SERVICE
: el nombre del servicio de Cloud Run que recibe los eventos para el activador.NEW_PATH
: la ruta de acceso relativa en el servicio de Cloud Run de destino al que se deben enviar los eventos del activador.NEW_EVENT_DATA_TYPE
: Es la codificación de la carga útil del evento. Según el proveedor de eventos, 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
para new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com
.
GKE
Ten en cuenta que esta sección también se aplica a los extremos públicos de los servicios públicos y privados 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"
Reemplaza lo siguiente:
TRIGGER
: el ID del activador o un identificador completamente calificado.LOCATION
: ubicación del activador de Eventarc.
Puedes actualizar cualquiera de las siguientes opciones:
NEW_NAMESPACE
: Es 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
: Es la ruta de acceso relativa en el servicio de GKE de destino al que se deben enviar los eventos del activador.NEW_EVENT_DATA_TYPE
: Es la codificación de la carga útil del evento. Según el proveedor de eventos, puede serapplication/json
oapplication/protobuf
.
Por ejemplo, para actualizar el servicio del receptor de eventos de un activador, haz lo siguiente:
gcloud eventarc triggers update my-gke-trigger \
--destination-gke-service=helloworld-events
Con este comando, se actualiza el servicio del receptor de eventos para un activador llamado my-gke-trigger
a un servicio de GKE llamado 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"
Reemplaza lo siguiente:
TRIGGER
: el ID del activador o un identificador completamente calificado.LOCATION
: ubicación del activador de Eventarc.
Puedes actualizar cualquiera de las siguientes opciones:
NEW_EVENT_FILTERS
: Es 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 después de crear un activador, el filtro de eventotype
no se puede cambiar. Para un tipo de evento diferente, debes crear un activador nuevo.NEW_SERVICE_ACCOUNT
: Es el correo electrónico de la cuenta de servicio de Identity and Access Management (IAM) asociado con el activador.NEW_DESTINATION_WORKFLOW
: Es el ID del flujo de trabajo implementado que recibe los eventos del activador.NEW_DESTINATION_WORKFLOW_LOCATION
: Es la ubicación en la que se implementa el flujo de trabajo de destino.NEW_EVENT_DATA_TYPE
: Es la codificación de la carga útil del evento. Según el proveedor de eventos, 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
para new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com
.
REST
Para actualizar un activador existente, usa el método
projects.locations.triggers.patch
y, de forma opcional, usa el parámetro de consulta updateMask
para especificar una lista
de campos que se actualizarán.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
TRIGGER_NAME
: el nombre del activador que deseas actualizar.PROJECT_ID
: el ID del proyecto de Google Cloud.LOCATION
: la región en la que se crea el activador, por ejemplo,us-central1
.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: es opcional. El correo electrónico de la cuenta de servicio de Identity and Access Management (IAM) asociado con el activador.DESTINATION
: es 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
: es opcional. Los atributos del evento que se deben filtrar. Solo se admite la actualización del tipo de método para 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étodos para los destinos de GKE.
CONTENT_TYPE
: es opcional. La codificación de la carga útil del evento. Según el proveedor de eventos, puede serapplication/json
oapplication/protobuf
.UPDATE_FIELDS
: es opcional. Una lista de los campos separados por comas que se deben 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, expande una de estas opciones:
Si el proceso se realiza de forma correcta, el cuerpo de la respuesta contiene 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
aún está en curso.
Borra un activador
Puedes borrar un activador.
Console
En la consola de Google Cloud, ve a la página Activadores de Eventarc.
Elige el activador y haz clic en
Borrar.
gcloud
gcloud eventarc triggers delete TRIGGER
Reemplaza TRIGGER
por el ID del activador o un identificador completamente calificado.
REST
Para borrar un activador con un nombre especificado, usa el
método projects.locations.triggers.delete
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: el ID del proyecto de Google Cloud.LOCATION
: la región en la que se crea el activador, por ejemplo,us-central1
.TRIGGER_NAME
: el nombre del activador que deseas borrar.
Para enviar tu solicitud, expande una de estas opciones:
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene 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
aún está en curso.