View a markdown version of this page

Limites des fonctions - AWS Elemental MediaTailor

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Limites des fonctions

Cette page répertorie les limites qui s'appliquent aux fonctions. Ces limites sont appliquées au moment de la création (lorsque vous créez ou mettez à jour une fonction) et au moment de l'exécution (lorsque la fonction s'exécute).

Limites d'exécution des crochets

Crochet Limite Value
PRE_SESSION_INITIALIZATION Délai d'attente total 2 000 ms
PRE_SESSION_INITIALIZATION player_paramsTaille totale 1 000 caractères
PRE_ADS_REQUEST Délai d'attente total 2 000 ms
POST_ADS_RESPONSE Délai d'attente total 2 000 ms
POST_ADS_RESPONSE Taille de la charge utile d'entrée 128 Ko
POST_ADS_RESPONSE Taille de sortie 256 Ko
PRE_MANIFEST_INSERTION Délai d'attente total 2 000 ms
PRE_MANIFEST_INSERTION Taille de la charge utile d'entrée 128 Ko
PRE_MANIFEST_INSERTION Taille de sortie 256 Ko
PRE_MANIFEST_INSERTION Publicités injectées par invocation 10
Request-path crochets combinés (sur demande) Budget d'exécution partagé 2 000 ms

Ces délais couvrent l'intégralité de l'exécution du hook, y compris toutes les étapes de la fonction et les appels HTTP. Si le hook dépasse son délai d'expiration, MediaTailor supprime toutes les sorties et procède comme si aucune fonction n'était attachée.

Outre le délai d'attente propre à chaque hook, les PRE_MANIFEST_INSERTION hooks, PRE_ADS_REQUESTPOST_ADS_RESPONSE, et qui s'exécutent dans le cadre d'une seule requête partagent un budget d'exécution combiné de 2 000 ms. Le temps passé par un hook antérieur réduit le budget disponible pour les hooks ultérieurs dans la même demande, et le délai d'expiration effectif d'un hook est le plus petit entre son propre délai d'attente et le budget restant. Si le budget est épuisé avant le démarrage d'un hook, MediaTailor ignore complètement ce hook et poursuit le traitement de la demande. PRE_SESSION_INITIALIZATIONs'exécute lors de l'initialisation de la session et ne fait pas partie du budget combiné.

La limite de taille de charge utile en entrée s'applique à l'entrée JSON sérialisée qui est MediaTailor créée pour les hooks POST_ADS_RESPONSE andPRE_MANIFEST_INSERTION. Si l'entrée dépasse 128 Ko, MediaTailor ignore l'appel du hook pour cette demande. La limite de taille de sortie limite la taille sérialisée totale qu'une fonction peut écrire dans l'espace de noms inscriptible du hook ; la sortie dépassant 256 Ko est supprimée.

Les délais d'expiration des fonctions individuelles (comme RequestTimeoutMilliseconds pour les fonctions HTTP_REQUEST) doivent correspondre au délai d'expiration total du hook. Par exemple, si le délai d'expiration du hook est de 2 000 ms et qu'une fonction HTTP_REQUEST est définie RequestTimeoutMilliseconds sur 2 000 ms, la fonction peut expirer avant de se terminer si un traitement est effectué avant ou après l'appel HTTP.

La taille player_params totale inclut le nombre de caractères combiné de tous les noms et valeurs des clés de sortie. Par exemple, la sortie player_params.deviceType = "mobile" et les player_params.region = "us-east-1" comptesdeviceType, mobileregion, et par rapport au total us-east-1 de 1 000 caractères.

Limites d'expression

Limite Value Appliqué à
Temps CPU par expression 100 ms Environnement d’exécution
Profondeur de la pile 100 Environnement d’exécution
Longueur de l'expression 1 000 caractères Conception

Lorsqu'une expression dépasse une limite lors de l'exécution, MediaTailor arrête l'expression et enregistre l'erreur. Pour plus de détails sur les types d'erreurs spécifiques, consultezDépannage et surveillance.

Limites de composition fonctionnelle

Limite Value
Étapes par exécuteur séquentiel 1-10
Enfants par exécuteur testamentaire simultané 1-10
Simultanéité maximale (exécuteur simultané) 1—2
Délai d'attente par défaut (exécuteur simultané) 2 000 ms
Espaces de noms uniques par exécuteur simultané Obligatoire (validé au moment de la rédaction)
Profondeur de nidification maximale 2
Nombre total d'exécutions de fonctions par hook 20
Entrées de sortie par fonction 20
Références circulaires Non autorisée

Ces limites sont appliquées au moment de la création.

Limites de requêtes HTTP

Limite Value
Longueur de l'expression URL 25 000 caractères
Longueur de l'URL (après évaluation) 2 048 caractères
Longueur de l'expression corporelle 100 000 caractères
Demander la taille du corps (après évaluation) 64 Ko
Nombre d'en-têtes 50
Longueur du nom d'en-tête 256 caractères
Longueur de la valeur d'en-tête 8,192 caractères
Délai d'expiration de la demande 100 à 2 000 ms (configurable par le client via) RequestTimeoutMilliseconds
Schémas d'URL autorisés https, http
En-têtes restreints Host, Transfer-Encoding, Content-Length, Connection

Les limites de longueur des expressions et les limites d'en-tête sont appliquées au moment de la création, lorsque vous créez ou mettez à jour la fonction. Les limites d'URL et de taille de corps évaluées, le délai d'expiration de la demande et les en-têtes restreints sont appliqués lors de l'exécution, après MediaTailor évaluation des expressions. Une expression URL acceptée au moment de la création peut toujours dépasser la limite d'URL évaluée au moment de l'exécution, auquel cas la demande n'est pas envoyée.

Si une fonction définit un en-tête restreint, elle MediaTailor accepte la configuration de la fonction au moment de la création mais supprime l'en-tête lorsque la requête HTTP est envoyée pendant l'exécution.

Limites de réponse

Limite Value
response.bodytaille maximale 20 000 caractères
response.textlongueur maximale 20 000 caractères

Ces limites sont appliquées au moment de l'exécution.

Limites de sortie

Limite Value
Longueur maximale de la valeur de sortie (par touche) 1 000 caractères

Ces limites sont appliquées au moment de l'exécution.

Fonctions JSonata autorisées

Pour obtenir la liste complète des fonctions autorisées, consultezJSONataréférence d'expression.

Pour obtenir de l'aide pour diagnostiquer les erreurs liées à ces limites, consultezDépannage et surveillance.