

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Limites de funções
<a name="monetization-functions-limits"></a>

Esta página lista os limites que se aplicam às Funções. Esses limites são impostos no momento da criação (quando você cria ou atualiza uma função) e no tempo de execução (quando a função é executada).

## Limites de execução do Hook
<a name="monetization-functions-limits-hook"></a>


| Hook | Limite | Valor | 
| --- | --- | --- | 
| PRE\_SESSION\_INITIALIZATION | Tempo limite total | 2.000 ms | 
| PRE\_SESSION\_INITIALIZATION | player\_paramsTamanho total | Mil caracteres | 
| PRE\_ADS\_REQUEST | Tempo limite total | 2.000 ms | 
| POST\_ADS\_RESPONSE | Tempo limite total | 2.000 ms | 
| POST\_ADS\_RESPONSE | Tamanho da carga útil da entrada | 128 KB | 
| POST\_ADS\_RESPONSE | Tamanho de saída | 256 KB | 
| PRE\_MANIFEST\_INSERTION | Tempo limite total | 2.000 ms | 
| PRE\_MANIFEST\_INSERTION | Tamanho da carga útil da entrada | 128 KB | 
| PRE\_MANIFEST\_INSERTION | Tamanho de saída | 256 KB | 
| PRE\_MANIFEST\_INSERTION | Anúncios injetados por invocação | 10 | 
| Request-path ganchos combinados (por solicitação) | Orçamento de execução compartilhado | 2.000 ms | 

Esses tempos limite abrangem toda a execução do gancho, incluindo todas as etapas da função e chamadas HTTP. Se o gancho exceder o tempo limite, MediaTailor descarta todas as saídas e prossegue como se nenhuma função estivesse conectada.

Além do tempo limite de cada gancho, os `PRE_MANIFEST_INSERTION` ganchos `PRE_ADS_REQUEST``POST_ADS_RESPONSE`, e que são executados em uma única solicitação compartilham um orçamento de execução combinado de 2.000 ms. O tempo gasto por um gancho anterior reduz o orçamento disponível para ganchos posteriores na mesma solicitação, e o tempo limite efetivo de um gancho é menor entre seu próprio tempo limite e o orçamento restante. Se o orçamento estiver esgotado antes do início de um gancho, MediaTailor ignore totalmente esse gancho e continue processando a solicitação. `PRE_SESSION_INITIALIZATION`é executado durante a inicialização da sessão e não faz parte do orçamento combinado.

O limite de tamanho da carga útil de entrada se aplica à entrada JSON serializada criada para MediaTailor os ganchos e. `POST_ADS_RESPONSE` `PRE_MANIFEST_INSERTION` Se a entrada exceder 128 KB, MediaTailor ignora a invocação do gancho para essa solicitação. O limite de tamanho de saída limita o tamanho serializado total que uma função pode gravar no namespace gravável do gancho; a saída que excede 256 KB é descartada.

Os tempos limite de funções individuais (como `RequestTimeoutMilliseconds` para funções HTTP\_REQUEST) devem caber no tempo limite total do gancho. Por exemplo, se o tempo limite do gancho for 2.000 ms e uma função HTTP\_REQUEST for definida `RequestTimeoutMilliseconds` como 2.000 ms, a função poderá atingir o tempo limite antes de ser concluída se algum processamento ocorrer antes ou depois da chamada HTTP.

O tamanho `player_params` total inclui a contagem combinada de caracteres de todos os nomes e valores das chaves de saída. Por exemplo, produzindo `player_params.deviceType = "mobile"` e `player_params.region = "us-east-1"` contando`deviceType`, `mobile``region`, e `us-east-1` até o total de 1.000 caracteres.

## Limites de expressão
<a name="monetization-functions-limits-expression"></a>


| Limite | Valor | Aplicado em | 
| --- | --- | --- | 
| Tempo de CPU por expressão | 100 ms | Runtime | 
| Profundidade da pilha | 100 | Runtime | 
| Comprimento da expressão | Mil caracteres | Autoria | 

Quando uma expressão excede um limite em tempo de execução, MediaTailor interrompe a expressão e registra o erro. Para obter detalhes sobre tipos de erro específicos, consulte[Solução de problemas e monitoramento](monetization-functions-troubleshooting.md).

## Limites de composição de funções
<a name="monetization-functions-limits-composition"></a>


| Limite | Valor | 
| --- | --- | 
| Etapas por executor sequencial | 1 – 10 | 
| Filhos por executor simultâneo | 1 – 10 | 
| Concorrência máxima (executor simultâneo) | 1—2 | 
| Tempo limite padrão (executor simultâneo) | 2.000 ms | 
| Namespaces exclusivos por executor simultâneo | Obrigatório (validado no momento da criação) | 
| Profundidade máxima de aninhamento | 2 | 
| Total de execuções de funções por gancho | 20 | 
| Entradas de saída por função | 20 | 
| Referências circulares | Não permitido | 

Esses limites são aplicados no momento da criação.

## Limites de solicitação HTTP
<a name="monetization-functions-limits-http"></a>


| Limite | Valor | 
| --- | --- | 
| Comprimento da expressão de URL | 25.000 caracteres | 
| Tamanho do URL (após avaliação) | 2,048 caracteres | 
| Comprimento da expressão corporal | 100.000 caracteres | 
| Solicitar tamanho corporal (após avaliação) | 64 KB | 
| Contagem de cabeç | 50 | 
| Comprimento do nome do cabeçalho | 256 caracteres | 
| Comprimento do valor do cabeçalho | 8.192 caracteres | 
| Tempo limite da solicitação | 100—2.000 ms (configurável pelo cliente via) RequestTimeoutMilliseconds | 
| Esquemas de URL permitidos | https, http | 
| Cabeçalhos restritos | Host, Transfer-Encoding, Content-Length, Connection | 

Os limites de comprimento de expressão e de cabeçalho são impostos no momento da criação, quando você cria ou atualiza a função. Os limites avaliados de URL e tamanho do corpo, o tempo limite da solicitação e os cabeçalhos restritos são aplicados em tempo de execução, após a MediaTailor avaliação das expressões. Uma expressão de URL aceita no momento da criação ainda pode exceder o limite de URL avaliado em tempo de execução; nesse caso, a solicitação não é enviada.

Se uma função define um cabeçalho restrito, MediaTailor aceita a configuração da função no momento da criação, mas descarta o cabeçalho quando a solicitação HTTP é enviada durante a execução.

## Limites de resposta
<a name="monetization-functions-limits-response"></a>


| Limite | Valor | 
| --- | --- | 
| response.bodytamanho máximo | 20.000 caracteres | 
| response.textcomprimento máximo | 20.000 caracteres | 

Esses limites são aplicados em tempo de execução.

## Limites de saída
<a name="monetization-functions-limits-output"></a>


| Limite | Valor | 
| --- | --- | 
| Comprimento máximo do valor de saída (por chave) | Mil caracteres | 

Esses limites são aplicados em tempo de execução.

## Funções JSonata permitidas
<a name="monetization-functions-limits-jsonata"></a>

Para ver a lista completa de funções permitidas, consulte[JSONatareferência de expressão](monetization-functions-jsonata.md).

Para obter ajuda no diagnóstico de erros relacionados a esses limites, consulte[Solução de problemas e monitoramento](monetization-functions-troubleshooting.md).