Puede habilitar o inhabilitar la recogida y publicación de eventos de fuentes de Google en un bus avanzado de Eventarc específico.
Los eventos de fuentes de Google se activan directamente mediante un evento sin intermediación, como la creación de una función de Cloud Run o un cambio de estado en un trabajo de Dataflow. Para obtener más información, consulta los tipos de eventos de Google compatibles con Eventarc.
Ten en cuenta lo siguiente:
- Hay un límite de un
GoogleApiSource
recurso por Google Cloud proyecto y por región. - Solo puede publicar eventos de fuentes de Google en el mismo Google Cloud proyecto
que el recurso
GoogleApiSource
. - Puedes publicar eventos en un bus que esté en un Google Cloud proyecto
distinto de aquel en el que se encuentre el recurso
GoogleApiSource
. Para configurar esta opción, puedes usar la CLI de gcloud o enviar una solicitud a la API de Eventarc.
Antes de empezar
Si aún no lo has hecho, habilita la API de Eventarc y la API de Eventarc Publishing.
Consola
gcloud
gcloud services enable eventarc.googleapis.com eventarcpublishing.googleapis.com
Habilitar eventos de fuentes de Google
Para publicar eventos de fuentes de Google, debes crear un recurso GoogleApiSource
. Este recurso representa una suscripción a eventos de la API de Google en un Google Cloud proyecto específico de un bus avanzado de Eventarc concreto.
Puedes habilitar la publicación de eventos de fuentes de Google de las siguientes formas:
- En la Google Cloud consola
- Usando la CLI de Google Cloud en tu terminal o en Cloud Shell
Enviando una solicitud a la API de Eventarc
Consola
En la Google Cloud consola, ve a la página Eventarc > Bus.
Puedes crear un bus o, si vas a actualizar uno, haz clic en Editar.
En la página Editar autobús, para añadir una fuente de mensajes, haz clic en
Añadir fuente.- En el panel Añadir fuente de mensajes, en el proveedor de mensajes de la API de Google, acepta el valor predeterminado
google-api-source
o introduce otro nombre de fuente de mensajes. - Haz clic en Crear.
- En el panel Añadir fuente de mensajes, en el proveedor de mensajes de la API de Google, acepta el valor predeterminado
Haz clic en Guardar.
gcloud
Abre la terminal.
Para habilitar los eventos de fuentes de Google, usa el comando
gcloud eventarc google-api-sources create
:gcloud eventarc google-api-sources create GOOGLE_API_SOURCE_NAME \ --destination-message-bus=BUS_NAME \ --destination-message-bus-project=BUS_PROJECT_ID
Haz los cambios siguientes:
GOOGLE_API_SOURCE_NAME
: el ID o el identificador completo de tu recursoGoogleApiSource
, que representa una suscripción a eventos de la API de Google para un bus concreto.BUS_NAME
: el ID o el identificador completo del bus al que quieres suscribirte para recibir eventos de la API de Google.BUS_PROJECT_ID
: el ID del proyecto Google Cloud del autobús
Opcional: También puedes usar las siguientes marcas:
--async
para volver del comando inmediatamente, sin esperar a que se complete la operación en curso.--crypto-key
para especificar el nombre completo de una clave de cifrado gestionada por el cliente. Si no se especifica,se usan Google-owned and managed keys .--logging-config
para configurar el nivel de registro, que debe ser uno de los siguientes:NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
oEMERGENCY
. Para obtener más información, consultaLogSeverity
.
API REST
Para habilitar los eventos de fuentes de Google, usa el método
projects.locations.googleApiSources.create
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
GOOGLE_API_SOURCE_NAME
: el nombre visible del recursoGoogleApiSource
, que representa una suscripción a eventos de la API de Google de un bus concreto (por ejemplo,my_google_source
).LABEL_KEY
yLABEL_VALUE
: opcionales. Un mapa de pares clave-valor de etiquetas que te ayuda a organizar tus recursos. Google Cloud Para obtener más información, consulta ¿Qué son las etiquetas?ANNOTATION_KEY
yANNOTATION_VALUE
: opcionales. Un mapa de pares clave-valor de anotación de texto de formato libre. Puedes usarlos para adjuntar información arbitraria asociada al recurso. Para obtener más información, consulta Anotaciones.DESTINATION
: el identificador completo del bus de Eventarc Advanced en el que se deben publicar los eventos de origen de Google, con el formatoprojects/PROJECT_NAME/locations/LOCATION/messageBuses/BUS_NAME
. Para obtener más información, consulta el artículo Crear un bus para enrutar mensajes.ENCRYPT_KEY
: opcional. Clave de Cloud KMS que debe usar el recursoGoogleApiSource
para cifrar los datos. El formato esprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
. Para obtener más información, consulta el artículo Usar claves de cifrado gestionadas por el cliente.PROJECT_ID
: el Google Cloud ID del proyecto en el que se creará el recursoGoogleApiSource
.LOCATION
: la región admitida en la que se creará el recursoGoogleApiSource
. Por ejemplo,us-central1
.LOG_SEVERITY
: opcional. La gravedad mínima del evento descrito en una entrada de registro. Uno de los valoresNONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
oEMERGENCY
. El valor predeterminado esNONE
. Para obtener más información, consultaLogSeverity
.
Cuerpo JSON de la solicitud:
{ "displayName": "GOOGLE_API_SOURCE_NAME", "labels": {"LABEL_KEY":"LABEL_VALUE"}, "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"}, "destination": "DESTINATION", "cryptoKeyName": "ENCRYPT_KEY", "loggingConfig": {"logSeverity":"LOG_SEVERITY"} }
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/googleApiSources/GOOGLE_API_SOURCE_NAME", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Ahora se recogen y se publican en el bus los eventos de las fuentes de Google que se encuentran en el mismo Google Cloud proyecto que el recursoGoogleApiSource
.
Inhabilitar eventos de fuentes de Google
Para inhabilitar la publicación de eventos de fuentes de Google en un bus avanzado de Eventarc de un proyecto específico, debe eliminar el recurso GoogleApiSource
.Google Cloud
Puede inhabilitar la publicación de eventos de fuentes de Google de las siguientes formas:
- En la Google Cloud consola
- Usando la CLI gcloud en tu terminal o en Cloud Shell
Enviando una solicitud a la API de Eventarc
Consola
En la Google Cloud consola, ve a la página Eventarc > Detalles del bus.
Haz clic en
Editar.En la página Editar bus, para eliminar el proveedor de mensajes de la API de Google, haga clic en
Eliminar recurso en la fuente de mensajes google-api-source (o el nombre que le haya dado).Cuando se te pida que elimines el recurso, haz clic en Confirmar.
Haz clic en Guardar.
gcloud
Abre la terminal.
Puedes inhabilitar los eventos de fuentes de Google con el comando
gcloud eventarc google-api-sources delete
:gcloud eventarc google-api-sources delete GOOGLE_API_SOURCE_NAME \ --location=REGION
Haz los cambios siguientes:
GOOGLE_API_SOURCE_NAME
: ID o identificador completo del recursoGoogleApiSource
REGION
: la ubicación delGoogleApiSource
recurso
API REST
Para inhabilitar los eventos de fuentes de Google, utiliza el método
projects.locations.googleApiSources.delete
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID
: el ID del proyecto en el que se crea el recursoGoogleApiSource
. Google CloudLOCATION
: la región en la que se crea el recursoGoogleApiSource
. Por ejemplo,us-central1
.GOOGLE_API_SOURCE_NAME
: el nombre del recursoGoogleApiSource
que quieras eliminar.
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/googleApiSources/GOOGLE_API_SOURCE_NAME", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Los eventos de las fuentes de Google del mismo proyecto que el recurso eliminado ya no se recogen ni se publican. Google Cloud GoogleApiSource
Siguientes pasos
- Guía de inicio rápido: publicar eventos desde una fuente de Google
- Publicar eventos directamente
- Dar formato a los eventos recibidos
- Transformar eventos recibidos