View a markdown version of this page

Salida personalizada - AWS Elemental MediaTailor

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.

Salida personalizada

Cuándo se debe usar

CUSTOM_OUTPUTUtilícela cuando la lógica de su función sea puramente computacional. Entre los casos de uso habituales se incluyen la clasificación de los dispositivos en función de las cadenas de los agentes de usuario, la selección de las URL del servidor de decisiones publicitarias con una lógica de A/B prueba y el cambio de formato de los parámetros del reproductor antes de que lleguen al servidor de decisiones publicitarias.

CUSTOM_OUTPUTlas funciones son las más rápidas porque evalúan las expresiones almacenadas en la memoria sin necesidad de realizar llamadas a la red. Elija este tipo siempre que pueda lograr su objetivo sin ponerse en contacto con un servicio externo.

Campos de configuración

Una CUSTOM_OUTPUT función tiene dos campos:

  • Tiempo de ejecución: el lenguaje de expresiones. Establézcalo enJSONATA.

  • Salida: un mapa de pares clave-valor. Cada clave es un nombre de enlace de salida (por ejemploplayer_params.device_type) y cada valor es una expresión que se MediaTailor evalúa en tiempo de ejecución.

nota

Se usa {%...%} para empaquetar JSONata expresiones en campos de cadenas. Los valores sin estos delimitadores se tratan como cadenas estáticas. Por ejemplo, "{%session.id%}" evalúa la expresión, mientras que "session.id" es el texto literal.

Comportamiento en tiempo de ejecución

Cuando MediaTailor ejecuta una CUSTOM_OUTPUT función, evalúa cada expresión del bloque de salida comparándola con el estado actual de la sesión. Todas las expresiones ven la misma instantánea de entrada. Los resultados evaluados se convierten en las salidas de la función.

Si alguna expresión no se evalúa, MediaTailor descarta toda la salida de la función y procede como si no hubiera ninguna función adjunta. La función no confirma parcialmente los resultados.

Ejemplo: división A/B del tráfico

La siguiente función asigna de forma aleatoria cada pausa publicitaria a una de las dos URL del servidor de decisiones publicitarias. Está diseñada para adaptarse al PRE_ADS_REQUEST ciclo de vida.

{ "FunctionId": "abTestAdsUrl", "FunctionType": "CUSTOM_OUTPUT", "CustomOutputConfiguration": { "Runtime": "JSONATA", "Output": { "adsRequest.url": "{%$random() < 0.5 ? 'https://ads.example.com/v1' : 'https://ads.example.com/v2'%}" } } }

Para ver un recorrido completo de este ejemplo, consulteEjemplos de funciones.