# Instale a integração Limit Payload Size

**Limit Payload Size** é uma integração *serverless* disponível no Marketplace da Azion. Esta integração emprega uma function para avaliar os dados de uma request e negar payloads que excedam o limite pré-definido.

A função valida o tamanho do payload da request, verificando o cabeçalho `Content-Length`. O cabeçalho `Content-Length` é necessário para tornar segura a sua leitura, ao invés de sempre ler o `body` da request. Desta maneira, os usuários estão protegidos contra tentativas de alterar o valor do cabeçalho e a leitura do `Content-Length` é o melhor curso de ação do ponto de vista de desempenho.

---

## Obtenha a integração

Para instalar a integração, siga estes passos:

1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Marketplace**.
2. Na homepage do Marketplace, selecione o card da **Limit Payload Size**.
3. Quando a página da integração abrir, clique no botão **Install**.

Aparecerá 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

Esta é uma integração de firewall, portanto, você terá que instanciar a integração na página do Firewall. Siga os passos abaixo para fazer isso.

### Crie uma regra do Firewall

Para instanciar a integração **Limit Payload Size**, siga os passos:

1. No Azion Console, em **Products menu**, selecione **Firewall** na seção **SECURE**.
2. Clique no botão **+ Firewall**.
3. Dê um nome fácil de lembrar para seu firewall.
4. Selecione os domínios que você deseja proteger com a função.
5. Habilite o switch **Functions**.
6. Clique no botão **Save**.

Pronto. Agora você instanciou um firewall para sua função.

### Configure a integração

Para terminar de instanciar a integração, ainda na página do **Firewall**:

1. Selecione a aba **Functions Instances** e siga estes passos:
2. Clique no botão **+ Function Instance**.
3. Dê um nome fácil de lembrar para a sua instância.
4. No menu suspenso, selecione a função **Limit Payload Size**.
  - Esta ação irá carregar a aba **Arguments**.
5. Na aba **Arguments**, você passará os parámetros.

Nesta integração você passará somente um argumento em **Arguments**:

```json
{
    "max_content_length": "10kb"
}
```

Algumas informações sobre como esta integração funciona:

- O `max_content_length` é o tamanho máximo do payload que sua função aceitará. 
- Este campo aceita bytes, kilobytes e megabytes como argumento. 
- Se você não especificar a unidade de tamanho para o payload, a função assumirá como sendo em bytes.
- Se você não passar nenhum argumento, a função irá ignorar a execução. 
- Sempre que o tamanho do payload exceder o limite estabelecido pelo usuário, a integração retornará um **erro 403**.

6. Clique no botão **Save**.

### Configure o Rules Engine

Para terminar o processo, é preciso configurar o [Rules Engine](/pt-br/documentacao/produtos/build/applications/rules-engine/) indicando o *behavior* e o *criteria* necessários para executar a integraçã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 **Limit Payload Size**.
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. Agora a integração está sendo executada para cada request feita ao domínio que você indicou.

---