RabbitMQ
Descubra mais sobre o conector RabbitMQ e saiba como utilizá-lo na Digibee Integration Platform.
O RabbitMQ permite a publicação de mensagens em um broker RabbitMQ.
Parâmetros
Dê uma olhada nas opções de configuração do conector. Parâmetros suportados por expressões Double Braces estão marcados com (DB)
.
Parâmetro | Descrição | Valor padrão | Tipo de dado |
---|---|---|---|
SSL/TLS | Ativa o método de autenticação SSL/TLS ao se conectar a um servidor RabbitMQ. | False | Booleano |
Account | Conta do tipo Basic necessária para se autenticar utilizando o método basic. Essa opção só está disponível se o parâmetro SSL/TLS for desativado. | N/A | Account |
Key Store | Conta do tipo Certificate-chain (no formato PEM) contendo os certificados necessários do cliente para se autenticar utilizando o método SSL/TLS. Essa opção só está disponível se o parâmetro SSL/TLS for ativado. | N/A | Account |
Trust Store | Conta do tipo Certificate-chain (no formato PEM) contendo o trust material necessário para se autenticar utilizando o método SSL/TLS. Essa opção só está disponível se o parâmetro SSL/TLS for ativado. | N/A | Account |
Hostname Verification | Se ativado, será verificado se o certificado do servidor foi emitido para o hostname ao qual está sendo feita a conexão. Essa opção só está disponível se o parâmetro SSL/TLS for ativado. | False | Booleano |
Hostname | Nome do host que executa o RabbitMQ. | N/A | String |
Port | Porta de conexão do RabbitMQ (padrão: 5672). | 5672 | Inteiro |
Connection Timeout | Tempo máximo para conexão ao RabbitMQ. | 60000 | Inteiro |
Virtual Host | Nome do grupo lógico dentro do RabbitMQ ao qual se deseja conectar. | / | String |
Exchange Name | Nome do exchange definido no RabbitMQ ao qual se deseja enviar mensagens. | N/A | String |
Binary Message | Se a opção estiver ativada, a mensagem será considerada binária e o campo Message Body deverá informar uma string contendo a representação base64 do conjunto de bytes a enviar; do contrário, a mensagem será considerada como texto. | False | Booleano |
Message Body | Conteúdo da mensagem a ser enviada. | N/A | String |
Routing Key | String representando a chave de relacionamento entre o Exchange e a(s) Fila(s). | N/A | String |
Headers | Conjunto de entradas chave-valor (key-value) contendo cabeçalhos que serão enviados na mensagem (campo opcional). | N/A | Key-value |
Message Type | String representando o tipo de mensagem (campo opcional). | N/A | String |
Message Content Type | String representando o tipo de conteúdo da mensagem (ex.: application/json) (campo opcional). | N/A | String |
Message Content Encoding | String representando a codificação do conteúdo (ex.: UTF-8) (campo opcional). | N/A | String |
Priority | Número indicando a prioridade da mensagem (campo opcional). | N/A | Inteiro |
Correlation ID | String representando o ID de correlação da mensagem (campo opcional). | N/A | String |
Message ID | String representando o ID da mensagem (campo opcional). | N/A | String |
Delivery Mode | Se "Persistent Message", então a mensagem é enviada com a flag persistente e o broker tentará mantê-la em disco assim que possível; se "Transient Message", então o broker tentará manter a mensagem em memória. | Persistent Message | String |
Reply To | String representando o endereço de retorno da mensagem (campo opcional). | N/A | String |
Message Expiration | Número representando o tempo de duração da mensagem em fila (também conhecido como TTL) (campo opcional). | N/A | Inteiro |
Message Timestamp | Número representando o timestamp da mensagem (campo opcional). | N/A | Inteiro |
Application Name | String representando o nome da aplicação (campo opcional). | N/A | String |
Fail On Error | Se a opção estiver habilitada, a execução do pipeline com erro será interrompida; do contrário, a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade "success". | False | Booleano |
Wait for a Publish Acknowledgement | Se a opção estiver ativada, o conector aguardará por uma confirmação de publicação da mensagem; do contrário, o conector enviará a mensagem e não aguardará confirmação. | False | Booleano |
Publisher Acknowledgement Timeout | Tempo máximo que o conector aguardará por uma confirmação de publicação da mensagem. | 5000 | Inteiro |
Mandatory Message | Se a opção estiver ativada, então a mensagem é marcada como obrigatória e um erro será lançado caso ela não possa ser roteada; do contrário, então nenhuma verificação de roteamento será feita (é necessário que a opção "Wait for a Publish Acknowledgement" seja habilitada). | False | Booleano |
Todos os parâmetros de configuração opcionais não serão definidos na mensagem caso os seus valores sejam deixados em branco.
Exemplo de resposta de requisição ao RabbitMQ
O RabbitMQ não altera a mensagem apresentada na sua entrada, exceto em caso de erro.
Exemplo de resposta de requisição ao RabbitMQ contendo erro
success: “false” quando a operação falha.
message: mensagem sobre o erro.
exception: informação sobre o tipo de erro ocorrido.
Fluxo de Mensagens
Entrada
O conector aceita qualquer mensagem de entrada, podendo utilizá-la por meio de Double Braces.
Saída
sem erro
com erro
RabbitMQ em ação
Uma mensagem é sempre enviada através desse conector a partir do Exchange Name e do Routing Key. O exchange possui um bind com um tópico ou uma fila e direciona a mensagem a partir da routing key.
Enviando uma mensagem simples
Mensagem de entrada:
Configurações:
Hostname:
<RABBITMQ HOSTNAME>
Port:
<PORT>
(porta padrão: 5672)Virtual Host:
/
Exchange Name:
<EXCHANGE NAME>
Binary Message: desabilitado
Message:
{{ message.$ }}
Routing key:
<ROUTING KEY>
Fail On Error: desabilitado
Resultado:
Enviando uma mensagem binária simples
Mensagem de entrada:
Configurações:
Hostname:
<RABBITMQ HOSTNAME>
Port:
<PORT>
(porta padrão: 5672)Virtual Host:
/
Exchange Name:
<EXCHANGE NAME>
Binary Message: habilitado
Message:
{{ message.message }}
Routing key:
<ROUTING KEY>
Fail On Error: desabilitado
Resultado:
Enviando uma mensagem para uma fila e a resposta será devolvida para uma outra especificada (Direct Reply-To)
Mensagem de entrada:
Configurações:
Hostname:
<RABBITMQ HOSTNAME>
Port:
<PORT>
(porta padrão: 5672)Virtual Host:
/
Exchange Name:
<EXCHANGE NAME>
Binary Message: desabilitado
Message:
{{ message.$ }}
Routing key:
<ROUTING KEY>
Reply To:
<REPLY TO>
Fail On Error: desabilitado
Resultado:
Atualizado