View a markdown version of this page

Exemplo 1: enriquecimento de dados - 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 1: enriquecimento de dados

Cenário

Um serviço de streaming quer buscar dados de identidade do público de um serviço externo (nesse caso, LiveRamp) no início da sessão e armazená-los nos parâmetros do player para segmentação de anúncios posteriormente na sessão. Um envelope de identidade é um identificador criptografado fornecido por um serviço de resolução de identidade que permite que os sistemas de anúncios reconheçam um espectador em vários dispositivos e plataformas sem expor informações pessoais.

Configuração

Buscar LiveRamp envelope (HTTP_REQUEST):

{ "FunctionId": "fetchLiveRamp", "FunctionType": "HTTP_REQUEST", "HttpRequestConfiguration": { "Runtime": "JSONATA", "MethodType": "GET", "Url": "{%'https://api.example-identity.com/v2/envelope?pid=12345&iv=' & player_params.hashedId%}", "Headers": { "Authorization": "{%'Bearer ramp-token-789'%}" }, "RequestTimeoutMilliseconds": 2000, "Output": { "player_params.envelope_id": "{%response.body.envelopes[0].value%}" } } }
nota

Bearer ramp-token-789Substitua por suas próprias credenciais de API. Não armazene tokens confidenciais diretamente nas configurações de função na produção. Considere usar uma estratégia de rotação de tokens.

Defina RequestTimeoutMilliseconds com base no tempo de resposta esperado do seu serviço externo. Um valor menor reduz a latência, mas aumenta a chance de erros de tempo limite.

Mapeamento de funções

{ "FunctionMapping": { "PRE_SESSION_INITIALIZATION": "fetchLiveRamp" } }

O que acontece quando a função é executada

  1. Um espectador inicia uma sessão de reprodução.

  2. MediaTailor executa o gancho do PRE_SESSION_INITIALIZATION ciclo de vida e funciona. fetchLiveRamp

  3. A função cria o URL da solicitação usando player_params.hashedId e chama a LiveRamp API. No URL, pid é o ID do parceiro e iv é o identificador do visualizador com hash.

  4. A expressão de saída extrai o valor do primeiro envelope na matriz de resposta (response.body.envelopes[0].value) e o grava em. player_params.envelope_id

dica

Para lidar com erros de forma explícita, verifique response.statusCode antes de acessar os dados de resposta: {%response.statusCode = 200 ? response.body.envelopes[0].value : ''%}

Para ter mais informações, consulte HTTP_REQUEST, INICIALIZAÇÃO DA PRÉ-SESSÃO, Solução de problemas e monitoramento e Limites.