Como configuro o plugin RabbitMQ Shovel no meu agente do Amazon MQ?

Data da última atualização: 19/04/2022

Quero mover mensagens de um agente on-premises para um agente do Amazon MQ para RabbitMQ usando o plugin RabbitMQ Shovel. Como configuro meu agente do Amazon MQ para RabbitMQ para trabalhar com o plugin RabbitMQ Shovel?

Descrição breve

Para configurar o plugin RabbitMQ Shovel em um agente do Amazon MQ para RabbitMQ, você deve criar uma shovel dinâmica.

Para criar uma shovel dinâmica para um agente do Amazon MQ para RabbitMQ, use um dos seguintes:

Resolução

Observação: o procedimento a seguir requer dois agentes: um agente upstream (no local ou baseado na nuvem) e um agente downstream (o Amazon MQ para o agente RabbitMQ). Você pode configurar uma shovel dinâmica em um agente downstream ou upstream. Este procedimento de exemplo mostra como criar uma shovel dinâmica em um agente downstream.

Para criar uma shovel dinâmica em um agente downstream usando o console da web RabbitMQ

Importante: Especifique o Uniform Resource Identifier, (URI, identificador uniforme de recurso) para filas que não estiverem presentes no agente no qual a shovel foi criada.

1.    Abra o console do Amazon MQ.

2.    No painel de navegação esquerdo, escolha Brokers (Agentes).

3.    Na coluna Name (Nome), escolha o nome do seu agente downstream.

4.    No painel Connections (Conexões), selecione o URL listado abaixo do console da Web RabbitMQ. A página de login do console da Web RabbitMQ para o agente downstream será aberta.

5.    Digite seu Nome de usuário e Senha para o agente. Em seguida, escolha Login para fazer login no console da Web RabbitMQ.

6.    No console da Web RabbitMQ, escolha a guia Admin. Em seguida, no painel de navegação direito, escolha Shovel Management (Gerenciamento de shovels).

7.    Escolha Add a new shovel (Adicionar uma nova shovel).

8.    Em Name (Nome), insira um nome para a sua shovel.

9.    Em Source (Origem), selecione AMQP 0.9.1 na lista suspensa. Em seguida, faça o seguinte:
Na lista suspensa à direita do URI, selecione Queue (Fila).
Na caixa de texto abaixo de Queue (Fila), insira o nome da fila de origem do agente upstream.
Para URI, exclua o texto padrão amqp:// e insira o URI do agente upstream no seguinte formato:

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

10.    Em Destination (Destino) selecione AMQP 0.9.1 na lista suspensa. Em seguida, faça o seguinte:
Na lista suspensa à direita do URI, selecione Queue (Fila).
Na caixa de texto abaixo de Queue (Fila), insira o nome da fila de destino do agente downstream.
Para a URI, mantenha o texto padrão amqp://e insira o URI do agente downstream no seguinte formato:

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

11.    Escolha Adicionar shovel.

Nota: Se as filas de origem e destino ainda não existirem, o RabbitMQ as criará automaticamente.

Para criar uma shovel dinâmica em um agente downstream usando a Ferramenta da linha de comando de gerenciamento RabbitMQ

Importante: Especifique o Uniform Resource Identifier (URI, identificador uniforme de recurso) para filas não presentes no agente em que a shovel foi criada.

Execute o comando a seguir:

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: substitua $SHOVEL_BROKER_USER e $SHOVEL_BROKER_PASSWORD pelas credenciais do agente downstream. Substitua $SHOVEL_BROKER_ENDPOINT pelo endpoint do agente downstream. Substitua $UPSTREAM_BROKER_USER e $UPSTREAM_BROKER_PASSWORD pelas credenciais do agente upstream. Substitua $UPSTREAM_BROKER_ENDPOINT pelo endpoint do agente upstream. Substitua $DOWNTREAM_BROKER_USER e $DOWNTREAM_BROKER_PASSWORD pelas credenciais do agente downstream. Substitua $DOWNTREAM_BROKER_ENDPOINT pelo endpoint do agente downstream. Substitua $SOURCE_QUEUE_NAME pelo nome da fila de origem no agente upstream. Substitua $DESTINATION_QUEUE_NAME pelo nome da fila de destino no agente downstream.

Para testar a configuração

Envie uma mensagem de teste para a fila de origem do agente upstream

1.    Abra o console da Web RabbitMQ do agente upstream.

Observação: para obter mais informações sobre como acessar o console da Web RabbitMQ, consulte Management plugin (Plugin de gerenciamento) na documentação do RabbitMQ.

2.    Escolha a guia Queues (Filas). Em seguida, selecione o nome da fila de origem.

3.    No painel de navegação esquerdo, escolha Publish message (Publicar mensagem). A seçãoPublish message (Publicar mensagem) é aberta.

4.    Na caixa de textoPayload (Carga útil), insira uma mensagem de teste.

Observação: você pode deixar as caixas de texto Headers (Cabeçalhos) e Properties (Propriedades) em branco.

5.    Escolha o botão Publish message (Publicar mensagem). A mensagem de teste é enviada para a fila de origem. Se a shovel dinâmica estiver configurada corretamente, a mensagem também será consumida pela shovel e enviada para a fila de destino do agente downstream.

Verifique se a mensagem de teste é recebida pela fila de destino do agente downstream

1.    Abra o console da Web RabbitMQ do agente downstream. Para obter instruções, consulte as etapas de 1 a 5 da seção Para criar uma shovel dinâmica em um agente downstream usando o console da Web RabbitMQ deste artigo.

2.    Escolha a guia Queues (Filas). Em seguida, escolha o nome da fila de destino.

3.    No painel de navegação esquerdo, escolha Get messages (Obter mensagens). A seção Get messages (Obter mensagens) é aberta.

4.    Escolha o botão Get messages (Obter mensagens). Se a shovel dinâmica estiver configurada corretamente, a mensagem de teste que você enviou para a fila de origem aparecerá como o valor da Carga útil.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?