# Limites de Functions

[Functions](/pt-br/documentacao/plataforma/functions/) aplica limites default ao código da função, aos argumentos que uma instância de função carrega e a cada invocação. Os valores desta página cobrem funções e instâncias de função em uma aplicação. Dois tipos de limite se aplicam: os tetos que limitam uma única invocação ou um único objeto, e o uso incluído em cada plano de serviço a cada mês.

## Limites default

Todos os valores desta tabela se aplicam por default a uma função, a uma instância de função em uma aplicação ou à conta que as contém. Para solicitar um limite maior para o seu plano, entre em contato com o time de [suporte técnico](/pt-br/documentacao/suporte/).

| Escopo                            | Limite                                            | Descrição                                                                                                                         |
| --------------------------------- | ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| Argumentos                        | 100 KB                                            | Tamanho máximo do objeto JSON Args passado para uma instância de função. Exceder esse valor faz a função falhar na instanciação.  |
| Memória por isolate               | 512 MB                                            | Memória máxima para um único contexto de execução (isolate V8), incluindo heap, stack e todas as alocações do runtime.            |
| Limite de código (Console)        | 6 MB                                              | Tamanho máximo do código-fonte da função quando ela é criada ou editada em Azion Console.                                         |
| Limite de código (API)            | 20 MB                                             | Tamanho máximo do código-fonte da função quando ela é publicada pela Azion API.                                                   |
| Tamanho das variáveis de ambiente | 32 KB                                             | Tamanho total máximo de todas as variáveis de ambiente de uma única função.                                                       |
| Variáveis de ambiente por conta   | 100                                               | Número máximo de variáveis de ambiente que uma conta comporta.                                                                    |
| Sub-requisições                   | 50                                                | Número máximo de chamadas `fetch()` de saída em uma única invocação.                                                              |
| Tempo máximo de execução de CPU   | 2 s                                               | Tempo máximo de CPU por invocação. Mede a computação ativa, não o tempo de relógio. Uma função que excede esse valor é encerrada. |
| Tempo máximo de execução          | 5 min                                             | Tempo máximo de relógio para uma invocação, incluindo espera de I/O, chamadas `fetch()` e operações assíncronas.                  |
| Tamanho da URL                    | 16 KB                                             | Tamanho máximo da URL da requisição que uma função pode processar, incluindo o path e a query string.                             |
| Tamanho dos headers               | 64 KB                                             | Tamanho total máximo de todos os headers HTTP da requisição que uma função pode ler ou escrever.                                  |
| Tamanho do corpo                  | 100 MB (Hobby), 200 MB (Pro), 500 MB (Enterprise) | Tamanho máximo do corpo da requisição ou da resposta HTTP que uma função pode processar.                                          |

---

## Uso incluído por plano

Os tetos acima limitam uma invocação ou um objeto, e não variam conforme o plano. Os valores abaixo limitam um mês, e variam.

| Métrica      | Hobby         | Pro            | Enterprise |
| ------------ | ------------- | -------------- | ---------- |
| Compute Time | 8 horas / mês | 10 horas / mês | Custom     |
| Requisições  | 3M / mês      | 10M / mês      | Custom     |

Compute Time é a execução total que uma função acumula em todas as invocações do mês. É uma medida diferente dos tetos por invocação acima: uma única invocação continua limitada a 2 s de tempo de CPU e 5 minutos de tempo de relógio, por maior que seja o total mensal restante.

O que acontece além do valor incluído depende do plano. No Hobby, exceder o uso incluído pode exigir um upgrade, e a conta pode ser restringida. No Pro e no Enterprise, o consumo adicional é cobrado pelas tarifas on-demand, e limites de gasto configuráveis controlam até onde isso vai. [Preços](/pt-br/documentacao/fundamentos/precos/) traz as tarifas on-demand.

Para a tarifa por unidade de tempo de compute e de invocações, consulte [Functions](/pt-br/documentacao/fundamentos/precos/#functions). Para ler quanto de cada valor a conta já consumiu, consulte [Consulte dados de uso de Functions](/pt-br/documentacao/guias/plataforma/observabilidade/consultar-dados-de-uso-edge-functions-com-graphql/).

---

## Limites para funções em um firewall

Uma função que roda em um firewall tem os limites acima. Os limites do firewall e das suas instâncias de função, como o tamanho do payload de argumentos e o comprimento do nome de uma instância, estão em [Limites de Firewall](/pt-br/documentacao/plataforma/firewall/limites/#regras-e-instancias-de-funcao).

---

## Recursos relacionados

- [Como Functions funciona](/pt-br/documentacao/plataforma/functions/como-funciona.md): O caminho que uma requisição percorre de uma regra do Rules Engine até o código da sua função.
- [Instâncias de função](/pt-br/documentacao/plataforma/applications/functions-instances.md): Onde você define os Args, o objeto JSON ao qual o limite de 100 KB se aplica.
- [Variáveis de ambiente](/pt-br/documentacao/plataforma/functions/environment-variables.md): Como armazenar e ler as variáveis que contam para o limite de 32 KB.
- [Boas práticas](/pt-br/documentacao/plataforma/functions/boas-praticas.md): Como dimensionar uma função para que ela permaneça dentro dos limites de CPU, de sub-requisições e de Args.
- [Solução de problemas](/pt-br/documentacao/plataforma/functions/solucao-de-problemas.md): O que verificar quando uma função falha na instanciação ou para antes de responder.
- [Real-Time Metrics](/pt-br/documentacao/plataforma/real-time-metrics.md): Onde uma conta lê o seu consumo de Functions em relação aos valores desta página.
