RabbitMQ
O conector Rabbit MQ fornece conectividade com o Rabbit MQ.
Antes de começar
Antes de usar o conector RabbitMQ, faça o seguinte:
- No seu projeto do Google Cloud, faça o seguinte:
- Conceder o papel do IAM roles/connectors.admin ao usuário e configurar o conector.
- Conceda os seguintes papéis de IAM à conta de serviço que você quer usar para o conector:
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
Uma conta de serviço é um tipo especial de Conta do Google destinada a representar um usuário não humano que precisa ser autenticado e autorizado a acessar dados nas APIs do Google. Se você não tiver uma conta de serviço, será necessário criar uma. Para mais informações, consulte Como criar uma conta de serviço.
- Ative os seguintes serviços:
secretmanager.googleapis.com
(API Secret Manager)connectors.googleapis.com
(API Connectors)
Para entender como ativar os serviços, consulte Como ativar serviços.
Se esses serviços ou permissões não tiverem sido ativados no seu projeto, você precisará ativá-los ao configurar o conector.
Configurar o conector
Para configurar o conector, crie uma conexão com a fonte de dados (sistema de back-end). Uma conexão é específica a uma fonte de dados. Isso significa que, se você tiver muitas fontes de dados, precisará criar uma conexão separada para cada uma. Para criar uma conexão, siga estas etapas:
- No console do Cloud, acesse a página Integration Connectors > Conexões e selecione ou crie um projeto do Google Cloud.
- Clique em + CRIAR NOVO para abrir a página Criar conexão.
- Na seção Local, escolha o local da conexão.
- Região: selecione um local na lista suspensa.
Para conferir a lista de todas as regiões com suporte, consulte Locais.
- Clique em Próxima.
- Região: selecione um local na lista suspensa.
- Na seção Detalhes da conexão, faça o seguinte:
- Conector: selecione RabbitMQ na lista suspensa de conectores disponíveis.
- Versão do conector: selecione a versão do conector na lista suspensa de versões disponíveis.
- No campo Nome da conexão, insira um nome para a instância de conexão
Os nomes de conexão precisam atender aos seguintes critérios:
- Os nomes de conexões podem usar letras, números ou hifens.
- As letras precisam ser minúsculas.
- Os nomes das conexões precisam começar com uma letra e terminar com uma letra ou um número.
- Os nomes das conexões não podem ter mais de 49 caracteres.
- Para conectores que oferecem suporte à assinatura de eventos, os nomes de conexão não podem começar com o prefixo "goog".
- Como opção, insira uma Descrição para a instância de conexão.
- Conta de serviço: selecione uma conta de serviço que tenha os papéis necessários.
- Para usar a conexão para assinaturas de eventos, selecione Ativar assinatura de eventos. Ao selecionar esta opção, a assinatura de eventos é ativada com ações.
- Opcionalmente, defina as Configurações do nó de conexão:
- Número mínimo de nós: digite o número mínimo de nós de conexão.
- Número máximo de nós: digite o número máximo de nós de conexão.
Um nó é uma unidade (ou réplica) de uma conexão que processa transações. Mais nós são necessários para processar mais transações para uma conexão e, por outro lado, menos nós são necessários para processar menos transações. Para entender como os nós afetam os preços do conector, consulte Preços dos nós de conexão. Se você não inserir qualquer valor, por padrão, os nós mínimos serão definidos como 2 (para melhor disponibilidade) e os nós máximos serão definidos como 50.
- Nome da fila padrão: o nome da fila padrão. Pode ser substituído durante a execução da ação.
- Host virtual: o host virtual para RabbitMQ.
- Outra opção é clicar em + Adicionar rótulo para adicionar um rótulo à conexão na forma de um par de chave-valor.
- Como opção, se quiser usar SSL, selecione Ativar SSL. Os detalhes da configuração do SSL serão exibidos.
- Selecione um tipo de loja de confiança. Pode ser Pública, Particular ou Conexão não segura.
- Selecione os certificados com base na sua seleção de loja de confiança.
- Se você estiver usando mTLS, selecione os certificados de armazenamento de chaves na seção Armazenamento de chaves.
- Opcionalmente, selecione a versão TLS.
- Insira o pacote de criptografia compatível. Digite vários pacotes de criptografia, conforme valores separados por vírgula. Para mais informações, consulte Pacotes de criptografia aceitos.
- Clique em Próxima.
- Na seção Destinos, insira os detalhes do host remoto (sistema de back-end) ao qual você quer se conectar.
- Tipo de destino: selecione um Tipo de destino.
- Selecione Endereço do host na lista para especificar o nome do host ou o endereço IP do destino.
- Para estabelecer uma conexão particular com seus sistemas de back-end, Selecione Anexo de endpoint na lista e depois selecione o anexo de endpoint necessário. na lista Endpoint Attachment.
Para estabelecer uma conexão pública com os sistemas de back-end com mais segurança, considere configurar endereços IP de saída estáticos para suas conexões e configure as regras de firewall para autorizar apenas os endereços IP estáticos específicos.
- Clique em Próxima.
- Tipo de destino: selecione um Tipo de destino.
-
Na seção Autenticação, insira os detalhes da autenticação.
- Selecione um Tipo de autenticação e insira os detalhes relevantes.
Os seguintes tipos de autenticação são compatíveis com a conexão do RabbitMQ:
- Anônimo
- Nome de usuário e senha
- Clique em Próxima.
Para entender como configurar esses tipos de autenticação, consulte Configurar autenticação.
- Selecione um Tipo de autenticação e insira os detalhes relevantes.
- Na seção Detalhes da assinatura do evento, configure os detalhes relacionados ao evento.
- Insira a configuração de mensagens inativas. Se você configurar a letra inativa, a conexão vai gravar
os eventos não processados no tópico do Pub/Sub especificado. Digite os seguintes detalhes:
- ID do projeto de caixa de destino: o ID do projeto do Google Cloud em que você configurou o tópico de caixa de destino do Pub/Sub.
- Tópico de mensagens inativas: o tópico do Pub/Sub em que você quer gravar os detalhes do evento não processado.
- Insira a configuração de mensagens inativas. Se você configurar a letra inativa, a conexão vai gravar
os eventos não processados no tópico do Pub/Sub especificado. Digite os seguintes detalhes:
- Revisão: revise os detalhes de conexão e autenticação.
- Clique em Criar.
Configurar a autenticação
Digite os detalhes com base na autenticação que você quer usar.
-
Anônimo
Se você quiser usar o login anônimo, selecioneNão disponível.
-
Nome de usuário e senha
- Nome de usuário: o nome de usuário do RabbitMQ a ser usado para a conexão.
- Senha: o Secret do Secret Manager que contém a senha associada ao nome de usuário do RabbitMQ.
Entidades, operações e ações
Todos os Integration Connectors fornecem uma camada de abstração para os objetos do aplicativo conectado. Só é possível acessar os objetos de um aplicativo por esta abstração. A abstração é exposta a você como entidades, operações e ações.
- Entidade: uma entidade pode ser considerada um objeto ou um conjunto de propriedades no aplicativo ou serviço conectado. A definição de uma entidade difere de um conector para
outro. Por exemplo, em um conector de banco de dados, as tabelas são as entidades, em um conector de servidor de arquivos, as pastas são as entidades e, em um conector de sistema de mensagens, as filas são as entidades.
No entanto, é possível que um conector não aceite ou não tenha entidades. Nesse caso, a lista
Entities
estará vazia. - Operação: uma operação é a atividade que pode ser realizada em uma entidade. É possível executar
qualquer uma das seguintes operações em uma entidade:
Selecionar uma entidade na lista disponível gera uma lista de operações disponíveis para ela. Para uma descrição detalhada das operações, consulte as operações de entidades da tarefa "Conectores". No entanto, se um conector não oferecer suporte a nenhuma das operações da entidade, como as operações não estão listadas na lista
Operations
. - Ação: uma ação é uma função de primeira classe disponibilizada para a integração por meio da interface do conector. Uma ação permite fazer alterações em uma ou mais entidades e varia de um conector para outro. Normalmente, uma ação tem alguns parâmetros de entrada e um de saída. No entanto, é possível que o conector não ofereça suporte a nenhuma ação. Nesse caso, a lista
Actions
estará vazia.
Limitações do sistema
O conector RabbitMQ pode processar o seguinte número de transações por segundo, por nó, e limita qualquer transação além desse limite:
- No máximo 9 transações, se você usa principalmente a ação
sendMessage
. - uma transação, se você usa predominantemente a ação
requestReply
;
Por padrão, os Integration Connectors alocam dois nós (para melhor disponibilidade) para uma conexão.
Para informações sobre os limites aplicáveis aos Integration Connectors, consulte Limites.
Ações
A conexão do Rabbit MQ é compatível com as seguintes ações:
- sendMessage: envia uma mensagem para uma fila.
- requestReply: envia uma mensagem para uma fila e também especifica a fila em que a pessoa que responde vai gravar a resposta.
Ação sendMessage
As tabelas a seguir descrevem os parâmetros de entrada e saída da ação sendMessage.
Parâmetros de entrada da ação sendMessage
Nome do parâmetro | Obrigatório | Tipo de dados | Descrição |
---|---|---|---|
mensagem | Sim | String | Mensagem a ser enviada para a fila do Rabbit MQ. Atualmente, o tamanho máximo da mensagem aceito é de 10 MB. |
queueName | Não | String | Nome da fila do RabbitMQ. Se você não especificar um nome de fila, será usado o nome padrão definido durante a criação da conexão. |
messageContentType | Sim | String | Tipo de conteúdo da mensagem, que você pode especificar como
Text ou Bytes . Defina o tipo
como Bytes se estiver enviando dados binários.
Para enviar uma mensagem em um formato binário, faça o seguinte:
|
messageType | Sim | String | Tipo de mensagem que você pode especificar como Datagram
ou Reply . |
topicName | Não | String | Nome do tópico do RabbitMQ. Se você não especificar um nome de tópico, será usado o nome padrão da fila especificado durante a criação da conexão. |
Parâmetros de saída da ação sendMessage
Nome do parâmetro | Tipo de dados | Descrição |
---|---|---|
messageId | String | ID da mensagem enviada. |
Ação requestReply
As tabelas a seguir descrevem os parâmetros de entrada e saída da ação requestReply.
Parâmetros de entrada da ação requestReply
Nome do parâmetro | Obrigatório | Tipo de dados | Descrição |
---|---|---|---|
mensagem | Sim | String | Mensagem a ser enviada para a fila do Rabbit MQ. O tamanho máximo da mensagem aceito é de 10 MB. |
queueName | Não | String | Nome da fila do RabbitMQ. Se você não especificar um nome de fila, será usado o nome padrão definido durante a criação da conexão. |
messageContentType | Sim | String | Tipo de conteúdo da mensagem, que você pode especificar como
Text ou Bytes . Defina o tipo
como Bytes se estiver enviando dados binários.
Para enviar uma mensagem em um formato binário, faça o seguinte:
|
replyToQueue | Sim | String | Fila em que a pessoa que responde vai gravar a resposta. |
replyTimeout | Sim | String | Tempo (em milissegundos) que o conector aguarda a resposta na fila de respostas.
O valor máximo suportado é de 180.000 milissegundos (3 minutos).
Se a fila de respostas receber uma mensagem após o tempo limite, essa mensagem não será processada pelo conector. No entanto, é possível visualizar os detalhes da mensagem expirada nos registros de execução da integração. |
Parâmetros de saída da ação requestReply
Nome do parâmetro | Tipo de dados | Descrição |
---|---|---|
replyMessage | String | Mensagem de resposta da pessoa que responde. |
Usar o Terraform para criar conexões
É possível usar o Terraform recurso para criar uma nova conexão.Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Para conferir um exemplo de modelo do Terraform para criação de conexão, consulte Exemplo de modelo.
Ao criar essa conexão usando o Terraform, você precisa definir as seguintes variáveis no arquivo de configuração do Terraform:
Nome do parâmetro | Tipo de dados | Obrigatório | Descrição |
---|---|---|---|
default_queue_name | STRING | Falso | O nome da fila padrão. Pode ser substituído durante a execução da ação. |
default_topic_name | STRING | Falso | O nome do tópico padrão pode ser substituído ao executar a ação. |
virtual_host | STRING | Verdadeiro | O host virtual para RabbitMQ. |
Usar a conexão do RabbitMQ em uma integração
Depois que você cria a conexão, ela fica disponível nos Apigee Integration e Application Integration. É possível usar a conexão em uma integração pela tarefa de conectores.
- Para entender como criar e usar a tarefa Conectores na integração da Apigee, consulte a Tarefa Conectores.
- Para entender como criar e usar a tarefa Conectores no Application Integration, consulte Tarefa Conectores.