Instale a integração Send messages to a queue
Instale Send messages to a queue pelo Azion Marketplace e execute-a em uma application para adicionar mensagens a uma fila RabbitMQ, Amazon SQS ou Kafka-REST.
Send messages to a queue adiciona mensagens a uma fila de mensagens. Uma fila armazena mensagens na ordem first-in-first-out (FIFO): uma mensagem entra no fim da fila e sai do início. O remetente adiciona uma mensagem de forma assíncrona, e o componente receptor a processa depois. A integração é compatível com três serviços de mensageria: RabbitMQ, Amazon SQS e Kafka-REST. Ela é uma das integrações do Marketplace que executam em uma application.
Quatro objetos precisam existir antes que uma requisição envie uma mensagem: a function instalada, uma application com o módulo Functions ativado, uma function instance que guarda os argumentos e uma regra do Rules Engine com o behavior Run Function. Cada seção abaixo cria um deles.
Pré-requisitos
- Uma conta Azion. Para entrar, consulte Como acessar o Azion Console.
- Uma application servida por um workload. Para criar uma, consulte Primeiros passos com Applications.
- Uma fila no RabbitMQ, no Amazon SQS ou no Kafka-REST, com a URL do servidor e, quando o serviço exigir, as credenciais de autorização. Configure o serviço antes de criar a function instance.
- Ativar um produto ou um módulo pode gerar custos de uso. Para mais informações, consulte Preços.
Instale a integração
A instalação adiciona a function Send messages to a queue à sua conta. Para instalá-la pelo Azion Console:
Acesse Azion Console > Marketplace.
Digite Send messages to a queue no campo Search on Marketplace e selecione o card da integração. Navegar pelos cards e pelas categorias leva à mesma página.
O card mostra Successfully installed! e Latest version installed!. A function então aparece na lista Function do drawer Create Instance.
Ative o módulo Functions
Uma application executa uma function instalada somente quando o módulo Functions dela está ativado. Para ativar o módulo:
Acesse Azion Console > Applications > sua application.
Na aba Main Settings, vá até a seção Modules.
O Azion Console confirma que a application foi atualizada.
Crie a function instance
Uma function instance guarda os argumentos que a function Send messages to a queue lê para uma application. Para criar a instância na sua application:
Em Applications, selecione sua application e selecione a aba Functions Instances.
Uma application que ainda não tem instância oferece a mesma ação como Function Instance. O drawer Create Instance abre.
Em Name, digite um nome único que identifique a instância. Por exemplo: send-messages-amqp.
Em Function, selecione Send messages to a queue. O editor Arguments é preenchido com os argumentos padrão da integração.
Em Arguments, digite os argumentos do seu serviço de mensageria. Cada serviço recebe um conjunto diferente de argumentos e credenciais, mostrados abaixo.
A instância aparece na aba Functions Instances com o nome que você digitou.
Argumentos
Os argumentos são um objeto JSON. Três chaves definem a conexão:
| Chave | Descrição |
|---|---|
server_type | O tipo de conexão. Aceita amqp, sqs ou kafka-rest |
connection_url | A URL do servidor do serviço de mensageria |
connection_authorization | O tipo de autorização que a conexão exige. Opcional |
A seção connection_args passa parâmetros extras para a fila. Cada serviço aceita parâmetros diferentes, e todos são opcionais.
Para RabbitMQ, via AMQP:
Para Amazon SQS:
Para Kafka-REST:
Crie a regra
A instância executa somente quando uma regra do Rules Engine a chama. A regra abaixo corresponde a todas as requisições. Para criar a regra:
Em Applications, selecione sua application e selecione a aba Rules Engine.
Em Name, digite um nome para a regra. Por exemplo: Send messages to a queue on every request.
Na seção Phase, selecione Request Phase.
Na seção Criteria, mantenha a variável ${uri} e o operador starts with e digite / como argumento.
Na seção Behaviors, selecione Run Function e selecione pelo nome a instância que você criou.
A regra aparece na aba Rules Engine, na fase de requisição, e executa a instância de Send messages to a queue em cada requisição.
Para conhecer cada critério e behavior que uma regra aceita, consulte Rules Engine para Applications.