¿Cómo configuro el complemento RabbitMQ Shovel en mi agente de Amazon MQ?

6 minutos de lectura
0

Quiero mover los mensajes de un agente local a un agente de Amazon MQ para RabbitMQ mediante el complemento RabbitMQ Shovel. ¿Cómo configuro mi agente de Amazon MQ para RabbitMQ para que funcione con el complemento RabbitMQ Shovel?

Descripción breve

Para configurar el complemento RabbitMQ Shovel en un agente de Amazon MQ para RabbitMQ, debe crear una pala (shovel) dinámica.

Si desea crear una pala dinámica para un agente de Amazon MQ para RabbitMQ, puede usar una de las siguientes opciones:

Resolución

Nota: el siguiente procedimiento requiere dos agentes: un agente de flujo ascendente (local o basado en la nube) y un agente de flujo descendente (el agente de Amazon MQ para RabbitMQ). Puede configurar una pala dinámica en un agente de flujo descendente o ascendente. Este procedimiento de ejemplo muestra cómo crear una pala dinámica en un agente de flujo descendente.

Crear una pala dinámica en un agente de flujo descendente mediante la consola web de RabbitMQ

Importante: asegúrese de especificar el identificador uniforme de recursos (URI) para las colas que no están presentes en el agente donde se crea la pala.

1.    Abra la consola de Amazon MQ.

2.    En el panel de navegación izquierdo, elija Brokers (Agentes).

3.    En la columna Name (Nombre), elija el nombre de su agente de flujo descendente.

4.    En el panel Connections (Conexiones), seleccione la URL que aparece debajo de la consola web de RabbitMQ. Se abrirá la página de inicio de sesión de la consola web de RabbitMQ para su agente de flujo descendente.

5.    Especifique el Username (Nombre de usuario) y la Password (Contraseña) para su agente. A continuación, seleccione Login (Iniciar sesión) para iniciar sesión en la consola web de RabbitMQ.

6.    En la consola web de RabbitMQ, elija la pestaña Admin. A continuación, en el panel de navegación derecho, elija Shovel Management (Administración de pala).

7.    Elija Add a new shovel (Agregar una pala nueva).

8.    En Name (Nombre), especifique un nombre para su pala.

9.    En Source (Origen), seleccione AMQP 0.9.1 en la lista desplegable. Tras ello, haga lo siguiente:
En la lista desplegable a la derecha de URI, selecciona Queue (Cola).
En el cuadro de texto debajo de Queue (Cola), ingrese el nombre de la cola de origen del agente de flujo ascendente.
Para el URI, elimine el texto predeterminado **amqp://**e ingrese el URI del agente de flujo ascendente con el siguiente formato:

amqps://$UPSTREAM_BROKER_USER:$UPSTREAM_BROKER_PASSWORD@$UPSTREAM_BROKER_ENDPOINT:5671

10.    En Destination (Destino), seleccione AMQP 0.9.1 en la lista desplegable. Tras ello, haga lo siguiente:
En la lista desplegable a la derecha de URI, selecciona Queue (Cola).
En el cuadro de texto debajo de Queue (Cola), ingrese el nombre de la cola de destino del agente de flujo descendente.
Para el URI, mantenga el texto predeterminado **amqp://**e ingrese el URI del agente de flujo descendente con el siguiente formato:

amqp://$DOWNSTREAM_BROKER_USER:$DOWNSTREAM_BROKER_PASSWORD@$DOWNSTREAM_BROKER_ENDPOINT:5671

11.    Elija Add shovel (Agregar pala).

Nota: si las colas de origen y destino aún no existen, RabbitMQ las crea automáticamente.

Crear una pala dinámica en un agente de flujo descendente mediante la herramienta de la línea de comandos de administración RabbitMQ

Importante: asegúrese de especificar el identificador uniforme de recursos (URI) para las colas que no están presentes en el agente donde se crea la pala.

Ejecute el siguiente comando curl:

curl -u $SHOVEL_BROKER_USER:$SHOVEL_BROKER_PASSWORD \
-X PUT https://$SHOVEL_BROKER_ENDPOINT/api/parameters/shovel/%2f/rmq-lab-shovel \
-H "content-type: application/json" \
-d '{"value": {"src-protocol": "amqp091","src-uri": "amqps://$UPSTREAM_BROKER_USER:$UPSTREAM_BROKER_PASSWORD@$UPSTREAM_BROKER_ENDPOINT:5671","src-queue": "shovel-demo-src-queue","dest-protocol": "amqp091","dest-uri": "amqps://$DOWNSTREAM_BROKER_USER:$DOWNSTREAM_BROKER_PASSWORD@$DOWNSTREAM_BROKER_ENDPOINT:5671","dest-queue": "shovel-demo-dest-queue"}}'

Importante: reemplace $SHOVEL_BROKER_USER y $SHOVEL_BROKER_PASSWORD por las credenciales del agente de flujo descendente. Reemplace $SHOVEL_BROKER_ENDPOINT por el punto de conexión del agente de flujo descendente. Reemplace $UPSTREAM_BROKER_USER y $UPSTREAM_BROKER_PASSWORD con las credenciales del agente de flujo ascendente. Reemplace $UPSTREAM_BROKER_ENDPOINT por el punto de conexión del agente de flujo ascendente. Reemplace $DOWNTREAM_BROKER_USER y $DOWNTREAM_BROKER_PASSWORD por las credenciales del agente de flujo descendente. Reemplace $DOWNTREAM_BROKER_ENDPOINT por el punto de conexión del agente de flujo descendente. Reemplace $SOURCE_QUEUE_NAME por el nombre de la cola de origen en el agente de flujo ascendente. Reemplace $DESTINATION_QUEUE_NAME por el nombre de la cola de destino en el agente de flujo descendente.

Probar la configuración

Enviar un mensaje de prueba a la cola de origen del agente de flujo ascendente

1.    Abra la consola web de RabbitMQ del agente de flujo ascendente.

Nota: para obtener más información sobre cómo acceder a la consola web de RabbitMQ, consulte Complemento de administración en la documentación de RabbitMQ.

2.    Elija la pestaña Queues (Colas). A continuación, seleccione el nombre de la cola de origen.

3.    En el panel de navegación izquierdo, elija Publish message (Publicar mensaje). Se abrirá la sección Publish message (Publicar mensaje).

4.    En el cuadro de texto Payload (Carga), ingrese un mensaje de prueba.

Nota: puede dejar los cuadros de texto Headers (Encabezados) y Properties (Propiedades) en blanco.

5.    Pulse el botón Publish message (Publicar mensaje). El mensaje de prueba se enviará a la cola de origen. Si su pala dinámica está configurada correctamente, la pala también consume el mensaje y lo envía a la cola de destino del agente de flujo descendente.

Verificar que la cola de destino del agente de flujo descendente recibe el mensaje de prueba

1.    Abra la consola web de RabbitMQ del agente de flujo descendente. Para obtener instrucciones, consulte los pasos 1 a 5 de la sección Crear pala dinámica en un agente de flujo descendente con la consola web de RabbitMQ de este artículo.

2.    Elija la pestaña Queues (Colas). A continuación, elija el nombre de la cola de destino.

3.    En el panel de navegación izquierdo, elija Get messages (Obtener mensajes). Se abrirá la sección Get messages (Obtener mensajes).

4.    Haga clic en el botón Get messages (Obtener mensajes). Si la pala dinámica está configurada correctamente, el mensaje de prueba que envió a la cola de origen aparecerá como el valor Payload (Carga).


Información relacionada

Migración de aplicaciones impulsadas por mensajes a Amazon MQ para RabbitMQ

¿Cómo configuro el complemento RabbitMQ Federation en mi agente de Amazon MQ?

Pala (taller de Amazon MQ)

Federación (taller de Amazon MQ)

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año