

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Límites de funciones
<a name="monetization-functions-limits"></a>

En esta página se enumeran los límites que se aplican a Functions. Estos límites se aplican en el momento de la creación (cuando se crea o actualiza una función) y durante el tiempo de ejecución (cuando se ejecuta la función).

## Límites de ejecución de enlaces
<a name="monetization-functions-limits-hook"></a>


| Enlace | Límite | Valor | 
| --- | --- | --- | 
| PRE\_SESSION\_INITIALIZATION | Tiempo de espera total | 2000 ms | 
| PRE\_SESSION\_INITIALIZATION | player\_paramsTamaño total | 1000 caracteres | 
| PRE\_ADS\_REQUEST | Tiempo de espera total | 2000 ms | 
| POST\_ADS\_RESPONSE | Tiempo de espera total | 2000 ms | 
| POST\_ADS\_RESPONSE | Tamaño de carga útil de entrada | 128 KB | 
| POST\_ADS\_RESPONSE | Tamaño de salida | 256 KB | 
| PRE\_MANIFEST\_INSERTION | Tiempo de espera total | 2000 ms | 
| PRE\_MANIFEST\_INSERTION | Tamaño de carga útil de entrada | 128 KB | 
| PRE\_MANIFEST\_INSERTION | Tamaño de salida | 256 KB | 
| PRE\_MANIFEST\_INSERTION | Anuncios inyectados por invocación | 10 | 
| Request-path ganchos combinados (por solicitud) | Presupuesto de ejecución compartido | 2000 ms | 

Estos tiempos de espera abarcan toda la ejecución del enlace, incluidos todos los pasos de la función y las llamadas HTTP. Si el enlace supera su tiempo de espera, MediaTailor descarta todos los resultados y procede como si no se hubiera adjuntado ninguna función.

Además del tiempo de espera propio de cada enlace, los `PRE_MANIFEST_INSERTION` ganchos `PRE_ADS_REQUEST``POST_ADS_RESPONSE`, y que se ejecutan en una sola solicitud comparten un presupuesto de ejecución combinado de 2000 ms. El tiempo empleado por un enlace anterior reduce el presupuesto disponible para los ganchos posteriores de la misma solicitud, y el tiempo de espera efectivo de un gancho es el menor entre su tiempo de espera y el presupuesto restante. Si el presupuesto se agota antes de que comience un enlace, lo MediaTailor omite por completo y continúa procesando la solicitud. `PRE_SESSION_INITIALIZATION`se ejecuta durante la inicialización de la sesión y no forma parte del presupuesto combinado.

El límite de tamaño de la carga útil de entrada se aplica a la entrada JSON serializada que MediaTailor se compila para los `POST_ADS_RESPONSE` ganchos and. `PRE_MANIFEST_INSERTION` Si la entrada supera los 128 KB, MediaTailor omite la invocación del enlace para esa solicitud. El límite de tamaño de salida limita el tamaño serializado total que una función puede escribir en el espacio de nombres grabable del enlace; los resultados que superen los 256 KB se descartan.

Los tiempos de espera de cada función (`RequestTimeoutMilliseconds`por ejemplo, en el caso de las funciones HTTP\_REQUEST) deben ajustarse al tiempo de espera total del enlace. Por ejemplo, si el tiempo de espera del enlace es de 2000 ms y una función HTTP\_REQUEST se establece en 2000 ms, es posible `RequestTimeoutMilliseconds` que la función agote el tiempo de espera antes de completarse si se produce algún procesamiento antes o después de la llamada HTTP.

El tamaño `player_params` total incluye el recuento de caracteres combinado de todos los nombres y valores de las claves de salida. Por ejemplo, la salida `player_params.deviceType = "mobile"` y el `player_params.region = "us-east-1"` recuento`deviceType`, `mobile``region`, y hasta el `us-east-1` total de 1000 caracteres.

## Límites de expresión
<a name="monetization-functions-limits-expression"></a>


| Límite | Valor | Aplicado en | 
| --- | --- | --- | 
| Tiempo de CPU por expresión | 100 ms | Tiempo de ejecución | 
| Profundidad de pila | 100 | Tiempo de ejecución | 
| Longitud de expresión | 1000 caracteres | Creación | 

Cuando una expresión supera un límite en tiempo de ejecución, MediaTailor detiene la expresión y registra el error. Para obtener más información sobre tipos de error específicos, consulte[Solución de problemas y supervisión](monetization-functions-troubleshooting.md).

## Límites de composición de funciones
<a name="monetization-functions-limits-composition"></a>


| Límite | Valor | 
| --- | --- | 
| Pasos por ejecutor secuencial | De 1 a 10 | 
| Hijos por ejecutor concurrente | De 1 a 10 | 
| Máxima concurrencia (ejecutor simultáneo) | 1—2 | 
| Tiempo de espera predeterminado (ejecutor simultáneo) | 2.000 ms | 
| Espacios de nombres únicos por ejecutor simultáneo | Obligatorio (validado en el momento de la creación) | 
| Profundidad máxima de anidación | 2 | 
| Ejecuciones totales de funciones por enlace | 20 | 
| Entradas de salida por función | 20 | 
| Referencias circulares | No permitido | 

Estos límites se aplican en el momento de la creación.

## Límites de solicitudes HTTP
<a name="monetization-functions-limits-http"></a>


| Límite | Valor | 
| --- | --- | 
| Longitud de la expresión URL | 25 000 caracteres | 
| Longitud de la URL (después de la evaluación) | 2,048 caracteres | 
| Longitud de la expresión corporal | 100 000 caracteres | 
| Solicite el tamaño corporal (después de la evaluación) | 64 KB | 
| Recuento de encabezados | 50 | 
| Longitud del nombre del encabezado | 256 caracteres | 
| Longitud del valor del encabezado | 8.192 caracteres | 
| Solicita tiempo de espera | De 100 a 2000 ms (configurable por el cliente mediante) RequestTimeoutMilliseconds | 
| Esquemas de URL permitidos | https, http | 
| Encabezados restringidos | Host, Transfer-Encoding, Content-Length, Connection | 

Los límites de longitud de las expresiones y los límites de los encabezados se aplican en el momento de la creación, al crear o actualizar la función. Los límites de tamaño del cuerpo y la URL evaluados, el tiempo de espera de la solicitud y los encabezados restringidos se aplican en tiempo de ejecución, una vez MediaTailor evaluadas las expresiones. Una expresión de URL que se acepte en el momento de la creación aún puede superar el límite de URL evaluado en tiempo de ejecución, en cuyo caso la solicitud no se envía.

Si una función establece un encabezado restringido, MediaTailor acepta la configuración de la función en el momento de la creación, pero lo elimina cuando se envía la solicitud HTTP durante la ejecución.

## Límites de respuesta
<a name="monetization-functions-limits-response"></a>


| Límite | Valor | 
| --- | --- | 
| response.bodytamaño máximo | 20 000 caracteres | 
| response.textlongitud máxima | 20 000 caracteres | 

Estos límites se aplican durante el tiempo de ejecución.

## Límites de salida
<a name="monetization-functions-limits-output"></a>


| Límite | Valor | 
| --- | --- | 
| Longitud máxima del valor de salida (por tecla) | 1000 caracteres | 

Estos límites se aplican durante el tiempo de ejecución.

## Funciones de JSonata permitidas
<a name="monetization-functions-limits-jsonata"></a>

Para ver la lista completa de funciones permitidas, consulte. [JSONatareferencia de expresión](monetization-functions-jsonata.md)

Para obtener ayuda para diagnosticar los errores relacionados con estos límites, consulte[Solución de problemas y supervisión](monetization-functions-troubleshooting.md).