View a markdown version of this page

Saída personalizada - 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á.

Saída personalizada

Quando usar

Use CUSTOM_OUTPUT quando sua lógica de função for puramente computacional. Casos de uso comuns incluem classificar dispositivos com base em cadeias de caracteres de agentes de usuário, selecionar URLs do servidor de decisão de anúncios com lógica de A/B teste e reformatar os parâmetros do player antes que eles cheguem ao servidor de decisão de anúncios.

CUSTOM_OUTPUTas funções são do tipo mais rápido porque avaliam expressões na memória sem chamadas de rede. Escolha esse tipo sempre que puder atingir sua meta sem entrar em contato com um serviço externo.

Campos de configuração

Uma CUSTOM_OUTPUT função tem dois campos:

  • Runtime — A linguagem de expressão. Defina isso comoJSONATA.

  • Saída — Um mapa de pares de valores-chave. Cada chave é um nome de vinculação de saída (comoplayer_params.device_type), e cada valor é uma expressão que é MediaTailor avaliada em tempo de execução.

nota

Use {%...%} para agrupar expressões JSonata em campos de string. Os valores sem esses delimitadores são tratados como cadeias de caracteres estáticas. Por exemplo, "{%session.id%}" avalia a expressão, enquanto "session.id" é o texto literal.

Comportamento durante a execução

Quando MediaTailor executa uma CUSTOM_OUTPUT função, ela avalia cada expressão no bloco de saída em relação ao estado atual da sessão. Todas as expressões veem o mesmo instantâneo de entrada. Os resultados avaliados se tornam as saídas da função.

Se alguma expressão falhar na avaliação, MediaTailor descarta toda a saída da função e procede como se nenhuma função estivesse anexada. A função não confirma parcialmente os resultados.

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

A função a seguir atribui aleatoriamente cada intervalo de anúncio a um dos dois URLs do servidor de decisão de anúncios. Ele foi projetado para o gancho do 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 obter uma explicação completa desse exemplo, consulte. Exemplos de funções