View a markdown version of this page

Exemplo 2: divisão A/B de tráfego - AWS Elemental MediaTailor

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplo 2: divisão A/B de tráfego

Cenário

Um serviço de streaming quer usar uma função CUSTOM_OUTPUT para dividir aleatoriamente o tráfego de solicitações de anúncios entre dois URLs do servidor de decisão de anúncios (ADS) para testes. A/B Metade das solicitações de anúncios vai para o endpoint v1 e metade vai para o endpoint v2.

Configuração

A/B divisão de tráfego (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%}" } } }

Nesta configuração:

  • FunctionId— Um nome exclusivo para essa função.

  • FunctionTypeCUSTOM_OUTPUT avalia expressões sem fazer chamadas HTTP.

  • Output— Mapeia adsRequest.url para uma expressão que seleciona aleatoriamente um dos dois URLs do ADS.

Mapeamento de funções

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

O que acontece quando a função é executada

  1. Um intervalo publicitário é encontrado durante a reprodução.

  2. MediaTailor executa o gancho do PRE_ADS_REQUEST ciclo de vida e funciona. abTestAdsUrl

  3. A $random() função retorna um valor entre 0 e 1. Se o valor for menor que 0,5, a função define o URL do ADS como o endpoint v1. Caso contrário, ele define o URL para o endpoint v2.

A $random() função é avaliada em cada intervalo de anúncio, portanto, a divisão é por solicitação de anúncio, não por sessão.

dica

Para ajustar a taxa de divisão de tráfego, altere o valor limite. Por exemplo, $random() < 0.8 envia 80% do tráfego para o primeiro URL e 20% para o segundo.

nota

Escrever em adsRequest.url substitui o URL padrão do ADS configurado na configuração de reprodução do intervalo publicitário atual.

Para obter mais informações, consulte SAÍDA_PERSONALIZADA, SOLICITAÇÃO PRÉVIA DE ANÚNCIOS e Referência de expressão JSonata.