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 do Functions
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 externas de API) com uma Referência de expressão JSonata expressão para avaliar o agente do usuário.
-
Abra o MediaTailor console em https://console.aws.amazon.com/mediatailor/
. -
Selecione Funções no painel de navegação.
-
Escolha a opção Criar função.
-
No modal do assistente de criação, selecione Criar do zero e escolha Continuar.
-
Em Tipo de função, selecione o quadro de saída personalizada.
-
Em Detalhes da função, insira o seguinte:
-
ID da função:
myFirstFunction -
Descrição:
Classify device type from user agent
-
-
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' %}
-
-
Escolha a opção Criar função.
Uma notificação de sucesso confirma que a função foi criada e você será 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.
-
No painel de navegação, escolha Configurações.
-
Escolha a configuração de reprodução que você deseja atualizar.
-
Escolha Editar.
-
Expanda a seção Configuração de funções.
-
Para Gancho de inicialização da sessão, selecione no
myFirstFunctionmenu suspenso. -
Escolha Salvar.
Isso se conecta myFirstFunction ao gancho do INICIALIZAÇÃO DA PRÉ-SESSÃO ciclo de vida. O mapeamento de funções 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 aceitação. 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 acionado. -
PreSessionInitHook.Errors— Deveria ser 0 se a função for bem-sucedida. -
Function.Invocations— Confirma a função individual executada. Essa métrica incluiFunctionId,FunctionType, eHookTypedimensões para que você possa filtrarmyFirstFunctionespecificamente.
Se a função falhar, MediaTailor emite eventos de registro de erros para os registros manifestos por padrão (sem necessidade de configuração):
-
PRE_SESSION_INIT_HOOK_ERROR— Hook-level falha comerrorTypecausee. -
PRE_SESSION_INIT_FUNCTION_ERROR— Function-level falha com os detalhes específicosfunctionIde 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 indica a classe da falha — consulte Solução de problemas e monitoramento para obter uma lista completa dos tipos e correções de erros.
nota
Para obter um registro detalhado de sucesso, opte por participar PRE_SESSION_INIT_HOOK_SUMMARY e participar de PRE_SESSION_INIT_FUNCTION_COMPLETED eventos na configuração do Registro de Manifestos. Eventos resumidos mostram o resultado final de cada execução. Os eventos concluídos mostram a entrada, a saída e request/response os detalhes 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 completo da solicitação para a função que você acabou de criar:
-
O jogador inicia uma sessão com MediaTailor.
-
MediaTailor dispara o gancho do
PRE_SESSION_INITIALIZATIONciclo de vida e funciona.myFirstFunction -
A função avalia o
session.user_agentcampo e gravactvmobile, oudesktopparaplayer_params.deviceType. -
MediaTailor cria a sessão e retorna o manifesto para o player.
-
O player encontra uma pausa publicitária durante a reprodução.
-
MediaTailor aciona o gancho do
PRE_ADS_REQUESTciclo de vida e, em seguida, constrói a solicitação ADS. ComodeviceTypeestá 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. -
O ADS usa o tipo de dispositivo para retornar anúncios criativos direcionados.
-
MediaTailor junta os anúncios no manifesto e os devolve ao player.
Se a função falhar por algum 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:
-
Para saber quais campos de entrada e namespaces de saída estão disponíveis em cada gancho do ciclo de vida, consulte. Hooks do ciclo de vida
-
Para saber mais sobre os diferentes tipos de função e como encadeá-los, consulteTipos de funções e composição.
-
Para ver exemplos completos de trabalho, consulteExemplos de funções.