View a markdown version of this page

Esempio 2: suddivisione A/B del traffico - AWS Elemental MediaTailor

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempio 2: suddivisione A/B del traffico

Scenario

Un servizio di streaming desidera utilizzare una funzione CUSTOM_OUTPUT per suddividere in modo casuale il traffico delle richieste di annunci tra due URL dell'Ad Decision Server (ADS) a scopo di test. A/B La metà delle richieste di annunci viene inviata all'endpoint v1 e l'altra metà all'endpoint v2.

Configurazione

A/B suddivisione del traffico (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%}" } } }

In questa configurazione:

  • FunctionId— Un nome univoco per questa funzione.

  • FunctionTypeCUSTOM_OUTPUT valuta le espressioni senza effettuare chiamate HTTP.

  • Output— Esegue adsRequest.url il mapping su un'espressione che seleziona in modo casuale uno dei due URL ADS.

Mappatura delle funzioni

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

Cosa succede quando la funzione viene eseguita

  1. Si verifica un'interruzione pubblicitaria durante la riproduzione.

  2. MediaTailor esegue il PRE_ADS_REQUEST lifecycle hook e viene eseguito. abTestAdsUrl

  3. La $random() funzione restituisce un valore compreso tra 0 e 1. Se il valore è inferiore a 0,5, la funzione imposta l'URL ADS sull'endpoint v1. Altrimenti, imposta l'URL sull'endpoint v2.

La $random() funzione viene valutata a ogni interruzione pubblicitaria, quindi la suddivisione avviene per richiesta di annuncio, non per sessione.

Suggerimento

Per regolare il rapporto di ripartizione del traffico, modifica il valore di soglia. Ad esempio, $random() < 0.8 invia l'80% del traffico al primo URL e il 20% al secondo.

Nota

Writing to adsRequest.url sostituisce l'URL ADS predefinito configurato nella configurazione di riproduzione per l'interruzione pubblicitaria corrente.

Per ulteriori informazioni, consultare OUTPUT_PERSONALIZZATO, RICHIESTA_PRE_PUBBLICITÀ_RICHIESTA e Riferimento all'espressione JSonata.