Rabbit MQ
El conector de RabbitMQ proporciona conectividad a RabbitMQ.
Antes de empezar
Antes de usar el conector RabbitMQ, haz lo siguiente:
- En tu proyecto de Google Cloud:
- Asegúrate de que la conectividad de red esté configurada. Para obtener información sobre los patrones de red, consulta Conectividad de red.
- Concede el rol de gestión de identidades y accesos roles/connectors.admin al usuario que configure el conector.
- Concede los siguientes roles de gestión de identidades y accesos a la cuenta de servicio que quieras usar para el conector:
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
Una cuenta de servicio es un tipo especial de cuenta de Google diseñada para representar a un usuario no humano que necesita autenticarse y disponer de autorización para acceder a los datos de las APIs de Google. Si no tienes una cuenta de servicio, debes crearla. El conector y la cuenta de servicio deben pertenecer al mismo proyecto. Para obtener más información, consulta el artículo Crear una cuenta de servicio.
- Habilita los siguientes servicios:
secretmanager.googleapis.com
(API Secret Manager)connectors.googleapis.com
(API Connectors)
Para saber cómo habilitar servicios, consulta Habilitar servicios.
Si estos servicios o permisos no se han habilitado en tu proyecto anteriormente, se te pedirá que los habilites al configurar el conector.
Configurar el conector
Una conexión es específica de una fuente de datos. Esto significa que, si tiene muchas fuentes de datos, debe crear una conexión independiente para cada una de ellas. Para crear una conexión, sigue estos pasos:
- En la consola de Cloud, ve a la página Integration Connectors > Connections (Conectores de integración > Conexiones) y, a continuación, selecciona o crea un proyecto de Google Cloud.
- Haz clic en + CREAR NUEVA para abrir la página Crear conexión.
- En la sección Ubicación, elige la ubicación de la conexión.
- Región: selecciona una ubicación de la lista desplegable.
Para ver la lista de todas las regiones admitidas, consulta Ubicaciones.
- Haz clic en Siguiente.
- Región: selecciona una ubicación de la lista desplegable.
- En la sección Detalles de la conexión, haz lo siguiente:
- Conector: selecciona RabbitMQ en la lista desplegable de conectores disponibles.
- Versión del conector: seleccione la versión del conector en la lista desplegable de versiones disponibles.
- En el campo Connection Name (Nombre de conexión), introduce un nombre para la instancia de conexión.
Los nombres de las conexiones deben cumplir los siguientes criterios:
- Los nombres de conexión pueden contener letras, números o guiones.
- Las letras deben estar en minúsculas.
- Los nombres de conexión deben empezar por una letra y terminar por una letra o un número.
- Los nombres de conexión no pueden tener más de 49 caracteres.
- En el caso de los conectores que admiten la suscripción a eventos, los nombres de conexión no pueden empezar por el prefijo "goog".
- Si quiere, puede introducir una Descripción para la instancia de conexión.
- Cuenta de servicio: selecciona una cuenta de servicio que tenga los roles necesarios.
- Para usar la conexión en las suscripciones a eventos, selecciona Habilitar suscripción a eventos. Si seleccionas esta opción, se habilitará la suscripción al evento con acciones.
- Si quieres, configura los ajustes del nodo de conexión:
- Número mínimo de nodos: introduce el número mínimo de nodos de conexión.
- Número máximo de nodos: introduce el número máximo de nodos de conexión.
Un nodo es una unidad (o réplica) de una conexión que procesa transacciones. Se necesitan más nodos para procesar más transacciones en una conexión y, a la inversa, se necesitan menos nodos para procesar menos transacciones. Para saber cómo influyen los nodos en el precio de tu conector, consulta la sección Precios de los nodos de conexión. Si no introduces ningún valor, de forma predeterminada, el número mínimo de nodos se establece en 2 (para mejorar la disponibilidad) y el máximo en 50.
- Nombre de la cola predeterminada: nombre de la cola predeterminada. Se puede anular al ejecutar la acción.
- Host virtual: el host virtual de RabbitMQ.
- También puedes hacer clic en + Añadir etiqueta para añadir una etiqueta a la conexión en forma de par clave-valor.
- Si quieres usar SSL, selecciona Habilitar SSL. Se mostrarán los detalles de la configuración de SSL.
- Selecciona un tipo de almacén de confianza. Puede ser Pública, Privada o Conexión no segura.
- Selecciona los certificados tal como se muestran en función de la selección del almacén de confianza.
- Si usas mTLS, selecciona los certificados del almacén de claves en la sección Almacén de claves.
- También puedes seleccionar la versión de TLS.
- Introduce el paquete de cifrado admitido. Introduce varias suites de cifrado como valores separados por comas. Para obtener más información, consulta Conjuntos de cifrado admitidos.
- Haz clic en Siguiente.
- En la sección Destinations (Destinos), introduce los detalles del host remoto (sistema backend) al que quieras conectarte.
- Tipo de destino: selecciona un Tipo de destino.
- Para especificar el nombre de host o la dirección IP de destino, selecciona Dirección de host y introduce la dirección en el campo Host 1.
- Para establecer una conexión privada, selecciona Endpoint attachment (Endpoint adjunto) y elige el adjunto que quieras de la lista Endpoint Attachment (Endpoint adjunto).
Si quieres establecer una conexión pública con tus sistemas backend con seguridad adicional, puedes configurar direcciones IP de salida estáticas para tus conexiones y, a continuación, configurar las reglas de tu cortafuegos para que solo se permitan las direcciones IP estáticas específicas.
- Haz clic en Siguiente.
- Tipo de destino: selecciona un Tipo de destino.
-
En la sección Autenticación, introduce los detalles de autenticación.
- Seleccione un Tipo de autenticación e introduzca los detalles pertinentes.
La conexión de RabbitMQ admite los siguientes tipos de autenticación:
- Anónimo
- Nombre de usuario y contraseña
- Haz clic en Siguiente.
Para saber cómo configurar estos tipos de autenticación, consulta Configurar la autenticación.
- Seleccione un Tipo de autenticación e introduzca los detalles pertinentes.
- En la sección Event Subscription Details (Detalles de la suscripción a eventos), configure los detalles relacionados con el evento.
- Introduce la configuración de la cola de mensajes fallidos. Si configura mensajes fallidos, la conexión escribe los eventos no procesados en el tema de Pub/Sub especificado. Introduzca los siguientes detalles:
- ID de proyecto de mensajes fallidos: el ID del proyecto de Google Cloud en el que has configurado el tema de mensajes fallidos de Pub/Sub.
- Tema de mensajes fallidos: el tema de Pub/Sub en el que quieres escribir los detalles del evento no procesado.
- Introduce la configuración de la cola de mensajes fallidos. Si configura mensajes fallidos, la conexión escribe los eventos no procesados en el tema de Pub/Sub especificado. Introduzca los siguientes detalles:
- Revisar: revisa los detalles de la conexión y la autenticación.
- Haz clic en Crear.
Configurar la autenticación
Introduce los detalles en función de la autenticación que quieras usar.
-
Anónimo
Si quieres usar el inicio de sesión anónimo, selecciona No disponible.
-
Nombre de usuario y contraseña
- Nombre de usuario: el nombre de usuario de RabbitMQ que se va a usar para la conexión.
- Contraseña: secreto de Secret Manager que contiene la contraseña asociada al nombre de usuario de RabbitMQ.
Entidades, operaciones y acciones
Todos los conectores de integración proporcionan una capa de abstracción para los objetos de la aplicación conectada. Solo puedes acceder a los objetos de una aplicación a través de esta abstracción. La abstracción se te muestra como entidades, operaciones y acciones.
- Entidad: una entidad se puede considerar como un objeto o un conjunto de propiedades en la aplicación o el servicio conectados. La definición de una entidad varía de un conector a otro. Por ejemplo, en un conector de base de datos, las tablas son las entidades; en un conector de servidor de archivos, las carpetas son las entidades; y en un conector de sistema de mensajería, las colas son las entidades.
Sin embargo, es posible que un conector no admita o no tenga ninguna entidad. En ese caso, la lista
Entities
estará vacía. - Operación: una operación es la actividad que puedes realizar en una entidad. Puedes realizar cualquiera de las siguientes operaciones en una entidad:
Al seleccionar una entidad de la lista disponible, se genera una lista de operaciones disponibles para la entidad. Para ver una descripción detallada de las operaciones, consulta las operaciones de entidades de la tarea Connectors. Sin embargo, si un conector no admite ninguna de las operaciones de entidad, esas operaciones no admitidas no se mostrarán en la lista
Operations
. - Acción: una acción es una función de primera clase que se pone a disposición de la integración
a través de la interfaz del conector. Una acción te permite hacer cambios en una o varias entidades y varía de un conector a otro. Normalmente, una acción tendrá algunos parámetros de entrada y un parámetro de salida. Sin embargo, es posible que un conector no admita ninguna acción, en cuyo caso la lista
Actions
estará vacía.
Limitaciones del sistema
El conector RabbitMQ puede procesar el siguiente número de transacciones por segundo y por nodo, y limita las transacciones que superen este límite:
- Máximo de 9 transacciones si usas principalmente la acción
sendMessage
. - 1 transacción, si usas principalmente la acción
requestReply
.
De forma predeterminada, Integration Connectors asigna 2 nodos (para mejorar la disponibilidad) a una conexión.
Para obtener información sobre los límites aplicables a Integration Connectors, consulta Límites.
Acciones
La conexión RabbitMQ admite las siguientes acciones:
- sendMessage: envía un mensaje a una cola.
- requestReply: envía un mensaje a una cola y también especifica la cola de respuesta en la que el remitente de la respuesta debe escribirla.
Acción sendMessage
En las siguientes tablas se describen los parámetros de entrada y salida de la acción sendMessage.
Parámetros de entrada de la acción sendMessage
Nombre del parámetro | Obligatorio | Tipo de datos | Descripción |
---|---|---|---|
mensaje | Sí | Cadena | Mensaje que se va a enviar a la cola de RabbitMQ. Actualmente, el tamaño máximo de los mensajes es de 10 MB. |
queueName | No | Cadena | Nombre de la cola de RabbitMQ. Si no especifica un nombre de cola, se usará el nombre de cola predeterminado que se haya especificado al crear la conexión. |
messageContentType | Sí | Cadena | Tipo de contenido del mensaje. Puedes especificarlo como
Text o Bytes . Debe definir el tipo como Bytes si va a enviar datos binarios.
Para enviar un mensaje en formato binario, debes hacer lo siguiente:
|
messageType | Sí | Cadena | Tipo de mensaje que puedes especificar como Datagram
o Reply . |
topicName | No | Cadena | Nombre del tema de RabbitMQ. Si no especifica un nombre de tema, se usará el nombre de cola predeterminado que se haya especificado al crear la conexión. |
Parámetros de salida de la acción sendMessage
Nombre del parámetro | Tipo de datos | Descripción |
---|---|---|
messageId | Cadena | ID del mensaje enviado. |
Acción requestReply
En las siguientes tablas se describen los parámetros de entrada y salida de la acción requestReply.
Parámetros de entrada de la acción requestReply
Nombre del parámetro | Obligatorio | Tipo de datos | Descripción |
---|---|---|---|
mensaje | Sí | Cadena | Mensaje que se va a enviar a la cola de RabbitMQ. El tamaño máximo admitido de los mensajes es de 10 MB. |
queueName | No | Cadena | Nombre de la cola de RabbitMQ. Si no especifica un nombre de cola, se usará el nombre de cola predeterminado que se haya especificado al crear la conexión. |
messageContentType | Sí | Cadena | Tipo de contenido del mensaje. Puedes especificarlo como
Text o Bytes . Debe definir el tipo como Bytes si va a enviar datos binarios.
Para enviar un mensaje en formato binario, debes hacer lo siguiente:
|
replyToQueue | Sí | Cadena | Cola en la que el respondedor debe escribir la respuesta. |
replyTimeout | Sí | Cadena | Tiempo (en milisegundos) durante el que el conector espera la respuesta en la cola de respuestas.
El valor máximo admitido es de 180.000 milisegundos (3 minutos).
Si la cola de respuestas recibe un mensaje después del periodo de tiempo de espera, el conector no procesará ese mensaje. Sin embargo, puede ver los detalles del mensaje de tiempo de espera en los registros de ejecución de su integración. |
Parámetros de salida de la acción requestReply
Nombre del parámetro | Tipo de datos | Descripción |
---|---|---|
replyMessage | Cadena | Mensaje de respuesta del usuario que responde. |
Crear conexiones con Terraform
Puedes usar el recurso de Terraform para crear una conexión.
Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
Para ver una plantilla de Terraform de ejemplo para crear una conexión, consulta la plantilla de ejemplo.
Cuando crees esta conexión con Terraform, debes definir las siguientes variables en el archivo de configuración de Terraform:
Nombre del parámetro | Tipo de datos | Obligatorio | Descripción |
---|---|---|---|
default_queue_name | STRING | Falso | Nombre de la cola predeterminada. Se puede anular al ejecutar la acción. |
default_topic_name | STRING | Falso | Nombre del tema predeterminado. Se puede anular al ejecutar la acción. |
virtual_host | STRING | Verdadero | El host virtual de RabbitMQ. |
Usar la conexión RabbitMQ en una integración
Una vez que hayas creado la conexión, estará disponible tanto en Apigee Integration como en Application Integration. Puedes usar la conexión en una integración a través de la tarea Conectores.
- Para saber cómo crear y usar la tarea Conectores en la integración de Apigee, consulta Tarea Conectores.
- Para saber cómo crear y usar la tarea Conectores en Application Integration, consulta Tarea Conectores.