View a markdown version of this page

Ejemplo 2: división A/B del tráfico - 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.

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

Escenario

Un servicio de streaming quiere usar una función CUSTOM_OUTPUT para dividir aleatoriamente el tráfico de solicitudes de anuncios entre dos URL del servidor de decisiones publicitarias (ADS) con fines de prueba. A/B La mitad de las solicitudes de anuncios van al punto final de la versión 1 y la otra mitad al punto final de la versión 2.

Configuración

A/B división de tráfico (CUSTOM_OUTPUT):

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

En esta configuración:

  • FunctionId— Un nombre único para esta función.

  • FunctionTypeCUSTOM_OUTPUT evalúa las expresiones sin realizar llamadas HTTP.

  • Output— Se asigna adsRequest.url a una expresión que selecciona aleatoriamente una de las dos URL de ADS.

Mapeo de funciones

{ "FunctionMapping": { "PRE_ADS_REQUEST": "abTestAdsUrl" } }

¿Qué ocurre cuando se ejecuta la función

  1. Se produce una pausa publicitaria durante la reproducción.

  2. MediaTailor ejecuta el enlace PRE_ADS_REQUEST del ciclo de vida y se ejecutaabTestAdsUrl.

  3. La $random() función devuelve un valor entre 0 y 1. Si el valor es inferior a 0,5, la función establece la URL de ADS en el punto final v1. De lo contrario, establece la URL en el punto final de la versión 2.

La $random() función se evalúa en cada pausa publicitaria, por lo que se divide por solicitud de anuncio, no por sesión.

sugerencia

Para ajustar la proporción de reparto del tráfico, cambia el valor límite. Por ejemplo, $random() < 0.8 envía el 80% del tráfico a la primera URL y el 20% a la segunda.

nota

Al escribir para, se adsRequest.url anula la URL ADS predeterminada configurada en la configuración de reproducción de la pausa publicitaria actual.

Para obtener más información, consulte SALIDA_PERSONALIZADA, PRE_ADS_REQUEST y Referencia de expresión JSonata.