---
name: azion-instale-a-integracao-add-request-id
description: >-
  Instale o Add Request ID pelo Azion Marketplace e execute-o em um firewall, para que toda requisição carregue um header com um identificador único.
---

# Instale a integração Add Request ID

Você instala a integração Add Request ID pelo Azion Marketplace e a executa em um [Firewall](/pt-br/documentacao/plataforma/firewall/), pelo Azion Console. A integração adiciona um header ao objeto da requisição recebida, e o header atribui um identificador único a cada requisição HTTP que a Azion atende. Use o identificador para rastrear requisições individuais, analisar logs e encontrar problemas: ele cruza os registros do [Data Stream](/pt-br/documentacao/plataforma/data-stream/) e do [Real-Time Events](/pt-br/documentacao/plataforma/real-time-events/) com os logs internos da sua infraestrutura.

Cinco objetos precisam existir antes de uma requisição carregar o header: a função instalada, um firewall carregando o módulo **Functions**, uma instância de função, uma regra do Rules Engine com o comportamento **Run Function** e um deployment de workload vinculado ao firewall. 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 aplicação servida por um [workload](/pt-br/documentacao/plataforma/workloads/), cujo deployment você vincula ao firewall na última seção.
- O [Azion CLI](/pt-br/documentacao/devtools/cli/) instalado e autorizado, para a última seção.
- Ligar um produto ou um módulo pode gerar custos de uso, como execuções de funções. Para mais informações, consulte [Preços](/pt-br/documentacao/fundamentos/precos/).

---

## Instale a integração

A função é instalada uma vez por conta. Para instalá-la:

1. **Abra o Marketplace**

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

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

   Informe `Add Request ID` no campo **Search on Marketplace** e selecione o card da integração. Navegar pelos cards e pelas categorias alcança a mesma página.

3. **Selecione Install**

O card mostra `Successfully installed!` e `Latest version installed!`, e a função aparece na lista **Function** do drawer **Create Instance**.

---

## Crie o firewall

O firewall é onde a função é instanciada e onde vive a regra que a executa. Para criar um:

1. **Abra a página Firewalls**

   Acesse [Azion Console](https://console.azion.com/) > **Firewalls** e crie um firewall.

2. **Nomeie o firewall**

   Na seção **General**, informe um **Name**. Por exemplo: `request-id-firewall`.

3. **Ligue o módulo Functions**

   Na seção **Modules**, ligue o switch **Functions**.

4. **Salve o firewall**

O firewall mostra uma aba **Functions Instances** enquanto o módulo **Functions** permanecer ligado. Para usar um firewall existente, ligue o módulo **Functions** dele e salve-o. Para cada configuração deste formulário, consulte [Defina as configurações principais de um firewall](/pt-br/documentacao/guias/seguranca-de-aplicacoes/firewall-e-waf/firewall-definir-main-settings/).

---

## Crie a instância de função

A instância é executada sem argumentos. O seu único argumento opcional muda o nome do header que carrega o ID da requisição. Para criar a instância:

1. **Abra a aba Functions Instances**

   Em **Firewalls**, selecione o seu firewall e depois selecione a aba **Functions Instances**.

2. **Selecione + Function**

   Um firewall que não tem instância mostra a mesma ação como **Function Instance**. O drawer **Create Instance** é aberto.

3. **Nomeie a instância**

   Em **Name**, informe um nome. Por exemplo: `add-request-id`.

4. **Selecione a função instalada**

   Em **Function**, selecione a função Add Request ID. A lista guarda apenas as funções que são executadas em um firewall.

5. **Revise os argumentos**

   Em **Arguments**, o editor vem preenchido com os argumentos padrão da integração em JSON. Para mudar o nome do header, defina `header_name`, como a próxima seção descreve.

6. **Selecione Save**

A instância aparece na aba **Functions Instances**.

### Argumentos

| Chave do JSON Args | Nome da variável de ambiente   | Tipo de dado | Valor padrão       | Descrição                                                                                                                            |
| ------------------ | ------------------------------ | ------------ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| `header_name`      | `AZION_REQUEST_ID_HEADER_NAME` | String       | `x-azn-request-id` | O nome do header em que a função insere o ID da requisição. Se o argumento não for uma string não vazia, a função usa o valor padrão |

> **nota**
>
> O JSON Args tem prioridade sobre as variáveis de ambiente. Quando os dois têm um valor, a função usa o valor do JSON Args.

---

## Crie a regra

A instância não adiciona nenhum header até uma regra executá-la. Uma regra do [Rules Engine for Firewall](/pt-br/documentacao/plataforma/firewall/rules-engine/) seleciona as requisições que alcançam a instância, por um comportamento **Run Function**. Para criar a regra:

1. **Abra a aba Rules Engine**

   Em **Firewalls**, selecione o seu firewall e depois selecione a aba **Rules Engine**.

2. **Selecione + Rule**

3. **Nomeie a regra**

   Em **Name**, informe um nome. Por exemplo: `Run Add Request ID`.

4. **Defina o critério**

   Na seção **Criteria**, selecione os domínios que executam a integração. Por exemplo: if `Host` *matches* `yourdomain.com`.

5. **Acrescente o comportamento Run Function**

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

6. **Selecione Save**

O firewall executa a instância em toda requisição aos domínios do critério.

---

## Vincule o firewall ao workload

O vínculo fica no deployment do workload, então crie um deployment que nomeia a aplicação e o firewall:

```bash
azion create workload-deployment --workload-id <workload-id> --name <deployment-name> \
  --application-id <application-id> --firewall-id <firewall-id> --strategy-type default \
  --active true --current true
```

O comando imprime o id do novo deployment:

```text
Created Workload Deployment with ID 123456
```

As requisições ao domínio do workload alcançam o firewall, e cada uma carrega o header com o ID da requisição.

---

## Próximos passos

- [Integrações do Marketplace](/pt-br/documentacao/plataforma/marketplace/integracoes.md): Cada integração que o Azion Marketplace oferece, e onde cada uma é executada.
- [Rules Engine for Firewall](/pt-br/documentacao/plataforma/firewall/rules-engine.md): Cada critério e comportamento que uma regra de firewall aceita.
- [Real-Time Events](/pt-br/documentacao/plataforma/real-time-events.md): Pesquise os registros do tráfego passado para cruzar com os seus logs.
- [Atualize uma integração](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/integracoes/atualizar-uma-integracao.md): Leve uma integração instalada para a sua versão mais recente.
