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)
.
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 (DB)
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 (DB)
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