---
name: azion-instale-a-integracao-send-messages-to-a-queue
description: >-
  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.
---

# Instale a integração Send messages to a queue

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](/pt-br/documentacao/plataforma/marketplace/integracoes/) 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](/pt-br/documentacao/guias/plataforma/conta-e-billing/como-acessar-o-azion-console/).
- Uma [application](/pt-br/documentacao/plataforma/applications/) servida por um [workload](/pt-br/documentacao/plataforma/workloads/). Para criar uma, consulte [Primeiros passos com Applications](/pt-br/documentacao/plataforma/applications/primeiros-passos/).
- 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](/pt-br/documentacao/fundamentos/precos/).

---

## Instale a integração

A instalação adiciona a function Send messages to a queue à sua conta. Para instalá-la pelo Azion Console:

1. **Abra o Marketplace**

   Acesse [Azion Console](https://console.azion.com/) > **Marketplace**.

2. **Encontre a integração**

   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.

3. **Selecione Install**

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:

1. **Abra sua application**

   Acesse [Azion Console](https://console.azion.com/) > **Applications** > **sua application**.

2. **Abra a seção Modules**

   Na aba **Main Settings**, vá até a seção **Modules**.

3. **Ative o switch Functions**

4. **Selecione Save**

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:

1. **Abra a aba Functions Instances**

   Em **Applications**, selecione sua application e selecione a aba **Functions Instances**.

2. **Selecione + Function**

   Uma application que ainda não tem instância oferece a mesma ação como **Function Instance**. O drawer **Create Instance** abre.

3. **Nomeie a instância**

   Em **Name**, digite um nome único que identifique a instância. Por exemplo: `send-messages-amqp`.

4. **Selecione a function**

   Em **Function**, selecione *Send messages to a queue*. O editor **Arguments** é preenchido com os argumentos padrão da integração.

5. **Edite os argumentos**

   Em **Arguments**, digite os argumentos do seu serviço de mensageria. Cada serviço recebe um conjunto diferente de argumentos e credenciais, mostrados abaixo.

6. **Selecione Save**

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:

```json
{
  "server_type": "amqp",
  "connection_url": "https://my-service.azion.com/queue",
  "connection_authorization": "Basic my_basic_auth",
  "connection_args: {	
   "routing_key: "my_queue",
   "payload: "my_custom_payload"
  }
}
```

Para Amazon SQS:

```json
{
  "server_type": "sqs",
  "connection_url": "https://my-service.azion.com/sqs-queue",
  "connection_authorization": "Basic my_basic_auth",
  "connection_args: {
    "auth_params: "my_aditional_auth_params",
     "version": "2012-11-05",
    "expires": "Wed, 21 Oct 2015 07:28:00 GMT"
  }
}
```

Para Kafka-REST:

```json
{
  "server_type": "kafka-rest",
  "connection_url": "https://my-service.azion.com/topics/my-topic",
 "connection_args: {
    "payload": "my_custom_payload"
  }
}
```

> **nota**
>
> A integração se conecta ao Kafka somente pelo Kafka-REST, um módulo que fornece uma interface HTTP RESTful para um cluster Kafka. Os clientes Kafka para JavaScript, Kafka JS e Kafka Node, usam recursos do Node.js incompatíveis com a infraestrutura da Azion.

---

## 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:

1. **Abra a aba Rules Engine**

   Em **Applications**, selecione sua application e selecione a aba **Rules Engine**.

2. **Selecione + Rule**

3. **Nomeie a regra**

   Em **Name**, digite um nome para a regra. Por exemplo: `Send messages to a queue on every request`.

4. **Selecione a fase**

   Na seção **Phase**, selecione *Request Phase*.

5. **Defina o critério**

   Na seção **Criteria**, mantenha a variável `${uri}` e o operador *starts with* e digite `/` como argumento.

6. **Adicione o behavior Run Function**

   Na seção **Behaviors**, selecione *Run Function* e selecione pelo nome a instância que você criou.

7. **Selecione Save**

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](/pt-br/documentacao/plataforma/applications/rules-engine/).

---

## Próximos passos

- [Integrações do Marketplace](/pt-br/documentacao/plataforma/marketplace/integracoes.md): As integrações que o Marketplace oferece e a application ou o firewall em que cada uma executa.
- [Rules Engine para Applications](/pt-br/documentacao/plataforma/applications/rules-engine.md): Os critérios e behaviors que uma regra aceita, para restringir as requisições que enviam uma mensagem.
- [Instâncias de função](/pt-br/documentacao/plataforma/applications/functions-instances.md): Como uma application guarda e executa as instâncias das suas functions.
- [Atualize uma integração](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/integracoes/atualizar-uma-integracao.md): Como obter a versão mais recente de uma integração instalada e o que uma atualização cria.
