View a markdown version of this page

Guía de inicio rápido de funciones - 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.

Guía de inicio rápido de funciones

En esta guía, se explica cómo crear la primera función, cómo adjuntarla a una configuración de reproducción y cómo comprobar si se ha ejecutado. Al final, dispondrás de una función funcional que clasifica el tipo de dispositivo (ctvmobile, odesktop) de cada espectador y lo almacena como un parámetro del reproductor disponible en todas las solicitudes de ADS.

Requisitos previos

Antes de empezar, asegúrate de tener una configuración de MediaTailor reproducción existente. Si no dispone de una, consulte ¿Cómo empezar con MediaTailor.

Paso 1: Crear una función de

En este paso, se crea una función que clasifica el tipo de dispositivo del espectador en función de la cadena del agente de usuario y almacena el resultado en los parámetros del reproductor. La función utiliza un tipo de salida personalizado (sin llamadas a la API externa) con una Referencia de expresión JSonata expresión para evaluar el agente de usuario.

  1. Abra la MediaTailor consola en https://console.aws.amazon.com/mediatailor/.

  2. Seleccione Funciones en el panel de navegación.

  3. Seleccione Creación de función.

  4. En el modal del asistente de creación, selecciona Crear desde cero y, a continuación, selecciona Continuar.

  5. En Tipo de función, selecciona el mosaico de salida personalizado.

  6. En Detalles de la función, introduzca lo siguiente:

    • ID de función: myFirstFunction

    • Description: Classify device type from user agent

  7. En Configuración de salida personalizada, en la sección Salida, añade una fila:

    • Clave: player_params.deviceType

    • Valor: {% $contains(session.user_agent, 'CTV') ? 'ctv' : $contains(session.user_agent, 'Mobile') ? 'mobile' : 'desktop' %}

  8. Seleccione Creación de función.

Una notificación de éxito confirma que la función se ha creado y se le redirige a la página de detalles de la función.

La configuración de la función resultante es:

{ "FunctionId": "myFirstFunction", "FunctionType": "CUSTOM_OUTPUT", "Description": "Classify device type from user agent", "CustomOutputConfiguration": { "Runtime": "JSONATA", "Output": { "player_params.deviceType": "{% $contains(session.user_agent, 'CTV') ? 'ctv' : $contains(session.user_agent, 'Mobile') ? 'mobile' : 'desktop' %}" } } }

Paso 2: Adjunte la función a una configuración de reproducción

Asigne la función a un enlace del ciclo de vida de su configuración de reproducción. El mapeo indica MediaTailor cuándo ejecutar la función.

  1. En el panel de navegación, elija Configuraciones.

  2. Elija la configuración de reproducción que desee actualizar.

  3. Elija Edit (Edición de).

  4. Amplíe la sección de configuración de funciones.

  5. Para el enlace de inicialización de sesión, seleccione myFirstFunction una opción en el menú desplegable.

  6. Seleccione Save.

Esto se conecta al enlace del ciclo myFirstFunction de vida. INICIALIZACIÓN PREVIA A LA SESIÓN El mapeo de funciones resultante es:

{ "FunctionMapping": { "PRE_SESSION_INITIALIZATION": "myFirstFunction" } }

MediaTailor ejecuta la función una vez al inicio de cada nueva sesión en esta configuración de reproducción.

Paso 3: Iniciar una sesión y comprobar que la función se ha ejecutado

Inicie una nueva sesión de reproducción para activar la función. Utilice una solicitud de inicialización de sesión para el punto final de inicialización de sesión de su configuración de reproducción.

MediaTailor publica automáticamente CloudWatch las métricas de cada ejecución de una función, sin necesidad de suscribirse. Tras iniciar una sesión, comprueba las siguientes métricas en el espacio de AWS/MediaTailor nombres para confirmar que la función se ha ejecutado:

  • PreSessionInitHook.Invocations— Confirma que se ha disparado el anzuelo.

  • PreSessionInitHook.Errors— Debe ser 0 si la función se ha realizado correctamente.

  • Function.Invocations— Confirma la función individual ejecutada. Esta métrica incluye FunctionIdFunctionType, y HookType dimensiones para que puedas filtrarlas de myFirstFunction forma específica.

Si la función falla, MediaTailor envía los eventos del registro de errores a los registros de manifiesto de forma predeterminada (no es necesaria ninguna configuración):

  • PRE_SESSION_INIT_HOOK_ERROR— Hook-level error con errorType y. cause

  • PRE_SESSION_INIT_FUNCTION_ERROR— Function-level fallo con los detalles específicos functionId y del error.

En el siguiente ejemplo, se muestra un PRE_SESSION_INIT_FUNCTION_ERROR evento relacionado con un error de sintaxis en la expresión de la función:

{ "eventTimestamp": "2024-01-01T12:00:00.076000000Z", "eventType": "PRE_SESSION_INIT_FUNCTION_ERROR", "eventDescription": "Function execution failed", "awsAccountId": "123456789012", "originId": "my-config", "sessionId": "session-123", "requestId": "req-abc", "eventId": "5dc6f040-0f72-4e8c-a64e-25eeef62708c", "functionId": "myFirstFunction", "functionType": "CUSTOM_OUTPUT", "executionTimeMs": 2, "errorType": "SYNTAX_ERROR", "cause": "Expected \")\" before end of expression", "input": {} }

Utilice el eventId campo para correlacionar los eventos de error de gancho y función para la misma ejecución. El errorType campo indica la clase de error; consulte Solución de problemas y supervisión para obtener una lista completa de los tipos de errores y sus correcciones.

nota

Para obtener un registro detallado de los casos de éxito, active PRE_SESSION_INIT_HOOK_SUMMARY y añada PRE_SESSION_INIT_FUNCTION_COMPLETED los eventos a su configuración del registro de manifiestos. El resumen de los eventos muestra el resultado del gancho para cada ejecución. Los eventos completados muestran la entrada, la salida y los request/response detalles HTTP de cada función. Están deshabilitados de forma predeterminada para minimizar los costos de registro. Para obtener más información, consulte Solución de problemas y supervisión.

¿Qué ocurre entre bastidores

Este es el flujo de solicitudes completo para la función que acabas de crear:

  1. El jugador inicia una sesión con MediaTailor.

  2. MediaTailor activa el enlace del PRE_SESSION_INITIALIZATION ciclo de vida y se ejecutamyFirstFunction.

  3. La función evalúa el session.user_agent campo y escribe ctvmobile, o desktop en. player_params.deviceType

  4. MediaTailor crea la sesión y devuelve el manifiesto al jugador.

  5. El reproductor encuentra una pausa publicitaria durante la reproducción.

  6. MediaTailor activa el enlace PRE_ADS_REQUEST del ciclo de vida y, a continuación, crea la solicitud ADS. Como deviceType se almacena en los parámetros del reproductor, está disponible para su inclusión en la URL de la solicitud de ADS mediante la sustitución dinámica de variables.

  7. El ADS utiliza el tipo de dispositivo para devolver las creatividades publicitarias segmentadas.

  8. MediaTailor incluye los anuncios en el manifiesto y se los devuelve al jugador.

Si la función falla por cualquier motivo, MediaTailor descarta el resultado y procede como si no hubiera ninguna función asociada. El espectador sigue viendo anuncios, solo que sin segmentar por tipo de dispositivo.

Temas sugeridos

Ahora tiene una función funcional asociada a una configuración de reproducción. Desde aquí: