View a markdown version of this page

Guia de início rápido de funções - 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á.

Guia de início rápido de funções

Este guia explica como criar sua primeira função, anexá-la a uma configuração de reprodução e verificar se ela foi executada. Ao final, você terá uma função funcional que classifica o tipo de dispositivo de cada espectador (ctv,mobile, oudesktop) e o armazena como um parâmetro de player disponível em cada solicitação do ADS.

Pré-requisitos

Antes de começar, verifique se você tem uma configuração de MediaTailor reprodução existente. Se você não tiver uma, consulte Começando com MediaTailor.

Etapa 1: criar uma função do

Nesta etapa, você cria uma função que classifica o tipo de dispositivo do visualizador com base na string do agente do usuário e armazena o resultado nos parâmetros do player. A função usa um tipo de saída personalizado (sem chamadas de API externas) com uma JSONatareferência de expressão expressão para avaliar o agente do usuário.

  1. Abra o console do MediaTailor.

  2. Selecione Funções no painel de navegação.

  3. Escolha a opção Criar função.

  4. No modal do assistente de criação, selecione Criar do zero e escolha Continuar.

  5. Em Tipo de função, selecione o quadro Saída personalizada.

  6. Em Detalhes da função, insira o seguinte:

    • ID da função: myFirstFunction

    • Descrição: Classify device type from user agent

  7. Em Configuração de saída personalizada, na seção Saída, adicione uma linha:

    • Chave: player_params.deviceType

    • Valor: {% $contains(session.user_agent, 'CTV') ? 'ctv' : $contains(session.user_agent, 'Mobile') ? 'mobile' : 'desktop' %}

  8. Escolha a opção Criar função.

Uma notificação de sucesso confirma que a função foi criada e você é redirecionado para a página de detalhes da função.

A configuração da função resultante é:

{ "FunctionId": "myFirstFunction", "FunctionType": "CUSTOM_OUTPUT", "Description": "Classify device type from user agent", "CustomOutputConfiguration": { "Runtime": "JSONATA", "Output": { "player_params.deviceType": "{% $contains(session.user_agent, 'CTV') ? 'ctv' : $contains(session.user_agent, 'Mobile') ? 'mobile' : 'desktop' %}" } } }

Etapa 2: anexar a função a uma configuração de reprodução

Mapeie a função para um gancho de ciclo de vida em sua configuração de reprodução. O mapeamento informa MediaTailor quando executar a função.

  1. No painel de navegação, escolha Configurações.

  2. Escolha a configuração de reprodução que você deseja atualizar.

  3. Escolha Editar.

  4. Expanda a seção Configuração de funções.

  5. Para Gancho de inicialização de sessão, selecione no myFirstFunction menu suspenso.

  6. Escolha Salvar.

Isso se conecta myFirstFunction ao gancho do Pre-session inicialização ciclo de vida. O mapeamento da função resultante é:

{ "FunctionMapping": { "PRE_SESSION_INITIALIZATION": "myFirstFunction" } }

MediaTailor executa a função uma vez no início de cada nova sessão nessa configuração de reprodução.

Etapa 3: iniciar uma sessão e verificar se a função foi executada

Inicie uma nova sessão de reprodução para acionar a função. Use uma solicitação de inicialização de sessão para o endpoint de inicialização de sessão da sua configuração de reprodução.

MediaTailor publica automaticamente CloudWatch métricas para cada execução de função, sem a necessidade de opt-in. Depois de iniciar uma sessão, verifique as seguintes métricas no AWS/MediaTailor namespace para confirmar se sua função foi executada:

  • PreSessionInitHook.Invocations— Confirma que o gancho foi disparado.

  • PreSessionInitHook.Errors— Deve ser 0 se a função for bem-sucedida.

  • Function.Invocations— Confirma a função individual executada. Essa métrica inclui FunctionIdFunctionType, e HookType dimensões para que você possa filtrar myFirstFunction especificamente.

Se a função falhar, MediaTailor emite eventos de log de erros para Manifest Logs por padrão (sem necessidade de configuração):

  • PRE_SESSION_INIT_HOOK_ERROR— Hook-level falha com errorType cause e.

  • PRE_SESSION_INIT_FUNCTION_ERROR— Function-level falha com os detalhes específicos functionId e do erro.

O exemplo a seguir mostra um PRE_SESSION_INIT_FUNCTION_ERROR evento para um erro de sintaxe na expressão da função:

{ "eventTimestamp": "2024-01-01T12:00:00.076000000Z", "eventType": "PRE_SESSION_INIT_FUNCTION_ERROR", "eventDescription": "Function execution failed", "awsAccountId": "123456789012", "originId": "my-config", "sessionId": "session-123", "requestId": "req-abc", "eventId": "5dc6f040-0f72-4e8c-a64e-25eeef62708c", "functionId": "myFirstFunction", "functionType": "CUSTOM_OUTPUT", "executionTimeMs": 2, "errorType": "SYNTAX_ERROR", "cause": "Expected \")\" before end of expression", "input": {} }

Use o eventId campo para correlacionar eventos de erro de gancho e função para a mesma execução. O errorType campo informa a classe da falha — consulte Solução de problemas e monitoramento para obter uma lista completa de tipos de erros e correções.

nota

Para obter um registro detalhado do sucesso, opte por participar PRE_SESSION_INIT_HOOK_SUMMARY e PRE_SESSION_INIT_FUNCTION_COMPLETED eventos em sua configuração do Registro de Manifesto. Os eventos resumidos mostram o resultado final de cada execução. Os eventos concluídos mostram os request/response detalhes de entrada, saída e HTTP de cada função. Eles são desativados por padrão para minimizar os custos de registro. Para obter mais informações, consulte Solução de problemas e monitoramento.

O que acontece nos bastidores

Aqui está o fluxo de solicitação completo para a função que você acabou de criar:

  1. O jogador inicia uma sessão com MediaTailor.

  2. MediaTailor dispara o gancho do PRE_SESSION_INITIALIZATION ciclo de vida e funciona. myFirstFunction

  3. A função avalia o session.user_agent campo e gravactv,mobile, ou desktop em. player_params.deviceType

  4. MediaTailor cria a sessão e retorna o manifesto para o jogador.

  5. O jogador encontra uma pausa no anúncio durante a reprodução.

  6. MediaTailor aciona o gancho do PRE_ADS_REQUEST ciclo de vida e, em seguida, constrói a solicitação do ADS. Como deviceType está armazenado nos parâmetros do player, ele está disponível para inclusão no URL de solicitação do ADS por meio da substituição dinâmica de variáveis.

  7. O ADS usa o tipo de dispositivo para retornar anúncios criativos direcionados.

  8. MediaTailor junta os anúncios no manifesto e os devolve ao jogador.

Se a função falhar por qualquer motivo, MediaTailor descarta a saída e prossegue como se nenhuma função estivesse anexada. O espectador ainda vê anúncios, mas sem a segmentação por tipo de dispositivo.

Tópicos sugeridos

Agora você tem uma função funcional anexada a uma configuração de reprodução. A partir daqui: