# Instale a integração Add Request ID

A integração **Add Request ID** da Azion permite que você adicione um cabeçalho adicional no objeto da requisição recebida, atribuindo um identificador único a cada requisição HTTP atendida pela Azion Web Platform.

Esse identificador facilita o rastreamento e a identificação de requisições individuais, além de permitir que você analise logs e identifique problemas. Dessa forma, você pode cruzar dados de produtos de observabilidade, como Data Stream e Real-Time Events da Azion, com os logs internos da sua infraestrutura.

---

## Obtenha a integração

Para instalar a **Add Request ID** da Azion:

1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Marketplace**.
2. Na página inicial do Marketplace, selecione o card da **Add Request ID**.
3. Na página de integração, clique no botão **Install**.

Você verá uma mensagem indicando que sua integração foi instalada com sucesso.

:::tip
Você pode procurar qualquer integração navegando pelos cards, usando os filtros ou digitando uma palavra-chave na barra de busca.
:::

---

## Configure a integração

### Configure um firewall

Siga estes passos:

1. No canto superior esquerdo, abra o **Products menu** e selecione **Firewall** na seção **Secure**.
2. Clique no botão **+ Firewall**.
3. Dê um nome fácil de lembrar ao seu firewall.
4. Ative a opção **Functions** na seção **Modules**.
5. Clique no botão **Save**.

Pronto. Agora você instanciou o firewall para sua função e tem acesso a functions em seu firewall.

:::caution[Atenção]
Se um produto ou módulo estiver ativado, pode gerar custos relacionados ao uso, como a execução de funções. Consulte a [página de preços](/pt-br/documentacao/produtos/precos/) para obter mais informações.
:::

### Configure a função

Ainda na página do **Firewall**:

1. Selecione a aba **Functions Instances**.
2. Clique no botão **+ Function Instance**.
3. Dê um nome fácil de lembrar para sua instância.
4. No menu suspenso, selecione a função **Add Request ID**.
    - Esta ação carregará a aba **Arguments**.

Neste caso, a função **Add Request ID** pode ser usada sem argumentos. No entanto, ela possui um único argumento opcional que pode ser usado para modificar o nome do cabeçalho onde o Request ID será inserido.

| Chave JSON Args | Nome da Variável de Ambiente | Tipo de Dados | Valor Padrão | Descrição |
| ----------- | ----------- | ----------- | ----------- | ----------- |
| `header_name` | `AZION_REQUEST_ID_HEADER_NAME` | String | `x-azn-request-id` | O nome do cabeçalho onde a função irá inserir o Request ID. Se o argumento não for uma string não vazia, a função usará o valor padrão. |

:::note
Os JSON Args têm prioridade sobre as variáveis de ambiente. Se ambos os artefatos tiverem valor, a função usará o que estiver definido nos JSON Args.
:::

5. Quando terminar, clique no botão **Save**.

### Configure o Rules Engine

Para finalizar, você precisa configurar o **Rules Engine** para definir o *criteria* (critério) e o *behavior* (comportamento) para executar a função.

Ainda na página do **Firewall**:

1. Selecione a aba **Rules Engine**.
2. Clique no botão **+ Rule Engine**.
3. Dê um nome fácil de lembrar à sua nova regra.
4. Selecione um *criteria* (critério) para executar a integração.
  - Exemplo: if `Host` *matches* `yourdomain.com`.
5. Abaixo, selecione um *behavior* (comportamento) para os *criteria* (critérios). Neste caso, será **Run Function**.
   - Selecione a função adequada de acordo com o nome que você deu na etapa de instanciação.
6. Clique no botão **Save**.

Agora, no Console, você deve configurar seu domínio para que ele seja protegido pelo seu firewall.

7. No **Products menu**, selecione **Workloads**.
8. Clique no domínio que você deseja proteger com sua função **Add Request ID**.
9. Na seção **Settings**, clique no seletor de `Firewall` e escolha o firewall que você acabou de criar.
10. Clique no botão **Save**.

Pronto. Você agora configurou a integração **Add Request ID** e começará a receber o cabeçalho.

---