Un bus de Eventarc Advanced te permite centralizar, supervisar y hacer un seguimiento del flujo de mensajes a través de tu sistema y actúa como un router. Recibe eventos de una fuente de mensajes o publicados por un proveedor y los evalúa según una inscripción. Una inscripción identifica una suscripción a un bus en particular y define los criterios de coincidencia para los mensajes, lo que hace que se enruten según corresponda. Para obtener más información, consulta Cómo crear una inscripción para recibir eventos.
Los proveedores de eventos y los destinos pueden usar un bus en tu proyecto o en otros proyectos. Para obtener más información, consulta Diseños de proyectos.
Roles obligatorios
Un rol de Identity and Access Management (IAM) contiene un conjunto de permisos que te permite realizar acciones específicas en los recursos de Google Cloud . Se requieren los siguientes roles y permisos cuando se crea un bus para enrutar mensajes:
- Para obtener el permiso que necesitas para crear un bus, pídele a tu
administrador que te otorgue el rol de IAM
Administrador de Eventarc
(
roles/eventarc.admin
) o el rol de IAM Administrador de bus de mensajes de Eventarc (roles/eventarc.messageBusAdmin
) en tu proyecto de bus. Estos roles predefinidos contienen el permisoeventarc.messageBuses.create
, que se requiere para crear un bus. - Para obtener el permiso que necesitas para usar un bus, pídele a tu
administrador que te otorgue el rol de IAM
Usuario de bus de mensajes de Eventarc
(
roles/eventarc.messageBusUser
) en tu proyecto de bus. Este rol predefinido contiene el permisoeventarc.buses.use
, que se requiere para usar un bus. - Para crear una canalización y una inscripción, se requieren permisos adicionales. Para obtener más información, consulta los roles requeridos para crear una inscripción.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso. También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Crea un bus
Puedes crear un bus de las siguientes maneras:
- En la consola de Google Cloud
- Con Google Cloud CLI en la terminal o en Cloud Shell
- Envía una solicitud a la API de Eventarc.
Console
En la consola de Google Cloud, ve a la página Eventarc > Bus.
Haz clic en
Crear bus.En la página Crear un bus, haz lo siguiente:
- Ingresa un nombre de bus. Este es el ID de tu autobús.
- Opcional: Ingresa un nombre visible del bus que se mostrará en la página Detalles del bus.
- En la lista Región, selecciona una región compatible para implementar tu bus.
- En la lista Gravedad del registro, selecciona la gravedad mínima para los eventos
describidos en las entradas de registro. El valor predeterminado es None. Para obtener más información, consulta
LogSeverity
- En Encriptación, acepta la Google-managed encryption key predeterminada o selecciona la clave de Cloud KMS. Para obtener más información, consulta Usa claves de encriptación administradas por el cliente (CMEK).
Si seleccionas Clave de Cloud KMS, haz lo siguiente:
En la lista Tipo de clave, selecciona un método para administrar tus claves.
Puedes administrar tus claves de forma manual o usar Autokey, que te permite generar llaveros y claves a pedido. Si la opción Cloud KMS con Autokey está inhabilitada, aún no está integrada en el tipo de recurso actual.
En Selecciona una clave de Cloud KMS, selecciona una clave.
Ten en cuenta que debes seleccionar una región para poder ver tus claves administradas por el cliente.
Opcional: Para ingresar de forma manual el nombre del recurso de la clave, en la lista Selecciona una clave administrada por el cliente, haz clic en Ingresar clave de forma manual y, luego, escribe el nombre de la clave en el formato especificado.
Si se te solicita, otorga el rol
cloudkms.cryptoKeyEncrypterDecrypter
al agente de servicio de Eventarc.
Opcional: Para agregar una fuente de mensajes, haz clic en
Agregar fuente.- En el panel Agregar fuente de mensajes, para el proveedor de mensajes de la API de Google, acepta el valor predeterminado de
google-api-source
o ingresa un nombre de fuente diferente. Haz clic en Crear.
Esto permite la recopilación automática de eventos que provienen directamente de las fuentes de Google.
Ten en cuenta que solo se publican los eventos de los recursos del mismo Google Cloud proyecto que el bus. Para obtener más información, consulta Cómo publicar eventos desde fuentes de Google.
- En el panel Agregar fuente de mensajes, para el proveedor de mensajes de la API de Google, acepta el valor predeterminado de
Opcional: Para agregar etiquetas, haz clic en ¿Qué son las etiquetas?
Agregar etiqueta. Las etiquetas son pares clave-valor que te ayudan a organizar tus recursos deGoogle Cloud . Para obtener más información, consulta
Haz clic en Crear.
gcloud
Abre una terminal.
Crea un bus con el comando
gcloud beta eventarc message-buses create
.gcloud beta eventarc message-buses create BUS_NAME \ --location=REGION
Reemplaza lo siguiente:
BUS_NAME
: El ID o el identificador completamente calificado del busREGION
: Una ubicación compatible para el autobúsComo alternativa, puedes establecer la propiedad de ubicación de Google Cloud CLI:
gcloud config set eventarc/location REGION
Opcional: También puedes usar las siguientes marcas:
--async
para mostrar el comando de inmediato, sin esperar a que se complete la operación en curso.--crypto-key
para especificar el nombre completamente calificado de una clave de encriptación administrada por el cliente. Si no se especifica,se usan Google-owned and managed keys .--logging-config
para configurar la gravedad mínima de los eventos descritos en las entradas de registro. Debe ser una de las siguientes opciones:NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
,EMERGENCY
. El valor predeterminado esNONE
. Para obtener más información, consultaLogSeverity
.
API de REST
Para crear un bus, usa el método projects.locations.messageBuses.create
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
BUS_NAME
: Es el nombre visible del bus, por ejemplo,my_bus
.LABEL_KEY
yLABEL_VALUE
: Opcional. Un mapa de pares clave-valor de etiquetas que te ayuda a organizar tus Google Cloud recursos. Para obtener más información, consulta ¿Qué son las etiquetas?ANNOTATION_KEY
yANNOTATION_VALUE
: Opcional. Un mapa de pares clave-valor de anotación de texto de formato libre. Puedes usarlos para adjuntar información arbitraria asociada con el recurso. Para obtener más información, consulta Anotaciones.ENCRYPT_KEY
: es opcional. Una clave de Cloud KMS que el bus debe usar para la encriptación de datos en el formatoprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
. Para obtener más información, consulta Usa claves de encriptación administradas por el cliente.PROJECT_ID
: Es el ID de tu proyecto. Google CloudLOCATION
: la región en la que se creará el bus, por ejemplo,us-central1
.LOG_SEVERITY
: es opcional. Es la gravedad mínima del evento que se describe en una entrada de registro. Es uno de los siguientes:NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
oEMERGENCY
. El valor predeterminado esNONE
. Para obtener más información, consultaLogSeverity
.
Cuerpo JSON de la solicitud:
{ "display_name": "BUS_NAME", "labels": {"LABEL_KEY":"LABEL_VALUE"}, "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"}, "cryptoKeyName": "ENCRYPT_KEY", "loggingConfig": {"logSeverity":"LOG_SEVERITY"} }
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/messageBuses/BUS_NAME", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Cómo borrar un bus
Puedes borrar un autobús de las siguientes maneras:
- En la consola de Google Cloud
- Con la CLI de gcloud en la terminal o en Cloud Shell
- Envía una solicitud a la API de Eventarc.
Console
En la consola de Google Cloud, ve a la página Eventarc > Bus.
Haz clic en el nombre del bus que quieres borrar.
Se abrirá la página Detalles del autobús.
Haz clic en
Borrar.Cuando se te solicite que borres el bus, selecciona la casilla de verificación ¿Quieres continuar? para confirmar que las fuentes de mensajes configuradas para usar el bus ya no podrán hacerlo.
Para confirmar la eliminación, ingresa
Delete
.Haz clic en Borrar.
gcloud
Abre una terminal.
Para borrar un bus, usa el comando
gcloud beta eventarc message-buses delete
.gcloud beta eventarc message-buses delete BUS_NAME \ --location=REGION
Reemplaza lo siguiente:
BUS_NAME
: El ID o el identificador completamente calificado del busREGION
: La ubicación compatible para el autobús
API de REST
Para borrar un bus, usa el método projects.locations.messageBuses.delete
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: Es el ID de tu proyecto. Google CloudLOCATION
: la región en la que se crea el bus, por ejemplo,us-central1
.BUS_NAME
: Es el nombre del bus que deseas borrar.
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/messageBuses/BUS_NAME", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }