View a markdown version of this page

Guida rapida alle funzioni - AWS Elemental MediaTailor

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Guida rapida alle funzioni

Questa guida illustra come creare la prima funzione, collegarla a una configurazione di riproduzione e verificare che funzioni. Alla fine, avrai una funzione funzionante che classifica il tipo di dispositivo di ogni spettatore (ctv,mobile, odesktop) e lo memorizza come parametro del lettore disponibile in ogni richiesta ADS.

Prerequisiti

Prima di iniziare, assicurati di avere una configurazione di MediaTailor riproduzione esistente. Se non lo hai, consultare Iniziare con MediaTailor.

Fase 1: Creare una funzione

In questo passaggio, crei una funzione che classifica il tipo di dispositivo dello spettatore in base alla stringa dello user agent e memorizza il risultato nei parametri del giocatore. La funzione utilizza un tipo di output personalizzato (nessuna chiamata API esterna) con un'Riferimento all'espressione JSonataespressione per valutare l'agente utente.

  1. Apri la MediaTailor console all'indirizzo https://console.aws.amazon.com/mediatailor/.

  2. Nel riquadro di navigazione, seleziona Funzioni.

  3. Scegli Crea funzione.

  4. Nella modalità Create Wizard, seleziona Crea da zero, quindi scegli Continua.

  5. In Tipo di funzione, seleziona il riquadro di output personalizzato.

  6. In Dettagli della funzione, inserisci quanto segue:

    • ID della funzione: myFirstFunction

    • Descrizione: Classify device type from user agent

  7. In Configurazione di output personalizzata, nella sezione Output, aggiungi una riga:

    • Chiave: player_params.deviceType

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

  8. Scegli Crea funzione.

Una notifica di successo conferma che la funzione è stata creata e l'utente viene reindirizzato alla pagina dei dettagli della funzione.

La configurazione della funzione risultante è:

{ "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' %}" } } }

Fase 2: Collegare la funzione a una configurazione di riproduzione

Associa la funzione a un hook del ciclo di vita presente nella configurazione di riproduzione. La mappatura indica MediaTailor quando eseguire la funzione.

  1. Nel riquadro di navigazione, scegli Configurazioni.

  2. Scegli la configurazione di riproduzione che desideri aggiornare.

  3. Scegli Modifica.

  4. Espandi la sezione Configurazione delle funzioni.

  5. Per l'hook di inizializzazione della sessione, seleziona myFirstFunction dal menu a discesa.

  6. Scegli Save (Salva).

Si collega myFirstFunction al lifecycle hook. INIZIALIZZAZIONE DELLA PRE_SESSIONE La mappatura delle funzioni risultante è:

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

MediaTailor esegue la funzione una volta all'inizio di ogni nuova sessione in questa configurazione di riproduzione.

Fase 3: Avvia una sessione e verifica che la funzione sia stata eseguita

Avvia una nuova sessione di riproduzione per attivare la funzione. Utilizzate una richiesta di inizializzazione della sessione sull'endpoint di inizializzazione della sessione della configurazione di riproduzione.

MediaTailor pubblica automaticamente le CloudWatch metriche per ogni esecuzione di funzione, non è richiesto alcun consenso esplicito. Dopo aver avviato una sessione, controlla le seguenti metriche nello spazio dei AWS/MediaTailor nomi per confermare l'esecuzione della funzione:

  • PreSessionInitHook.Invocations— Conferma che l'hook è stato attivato.

  • PreSessionInitHook.Errors— Dovrebbe essere 0 se la funzione ha avuto successo.

  • Function.Invocations— Conferma la singola funzione eseguita. Questa metrica include FunctionId e HookType dimensioni in modo da poter filtrare in modo myFirstFunction specifico. FunctionType

Se la funzione fallisce, per impostazione predefinita MediaTailor emette eventi di registro degli errori nei registri del manifesto (non è necessaria alcuna configurazione):

  • PRE_SESSION_INIT_HOOK_ERROR— Hook-level errore con errorType and. cause

  • PRE_SESSION_INIT_FUNCTION_ERROR— Function-level mancato inserimento dei dati specifici functionId e dell'errore.

L'esempio seguente mostra un PRE_SESSION_INIT_FUNCTION_ERROR evento relativo a un errore di sintassi nell'espressione della funzione:

{ "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": {} }

Utilizzate il eventId campo per correlare gli eventi di errore di hook e function per la stessa esecuzione. Il errorType campo indica la classe di errore. Risoluzione dei problemi e monitoraggio Per un elenco completo dei tipi di errore e delle correzioni, consulta la sezione.

Nota

Per una registrazione dettagliata dei risultati corretti, attivate PRE_SESSION_INIT_HOOK_SUMMARY e attivate PRE_SESSION_INIT_FUNCTION_COMPLETED gli eventi nella configurazione del Manifest Log. Gli eventi di riepilogo mostrano il risultato dell'hook per ogni esecuzione. Gli eventi completati mostrano i request/response dettagli di input, output e HTTP di ogni funzione. Questi sono disabilitati per impostazione predefinita per ridurre al minimo i costi di registro. Per ulteriori informazioni, consulta Risoluzione dei problemi e monitoraggio.

Cosa succede dietro le quinte

Ecco il flusso di richieste completo per la funzione che hai appena creato:

  1. Il giocatore inizia una sessione con MediaTailor.

  2. MediaTailor attiva il PRE_SESSION_INITIALIZATION lifecycle hook e corre. myFirstFunction

  3. La funzione valuta il session.user_agent campo e scrivectv, mobile o to. desktop player_params.deviceType

  4. MediaTailor crea la sessione e restituisce il manifesto al giocatore.

  5. Il giocatore subisce un'interruzione pubblicitaria durante la riproduzione.

  6. MediaTailor attiva il PRE_ADS_REQUEST lifecycle hook, quindi costruisce la richiesta ADS. Poiché deviceType è memorizzato nei parametri del giocatore, è possibile includerlo nell'URL della richiesta ADS tramite la sostituzione dinamica delle variabili.

  7. L'ADS utilizza il tipo di dispositivo per restituire creatività pubblicitarie mirate.

  8. MediaTailor inserisce gli annunci nel manifesto e lo restituisce al giocatore.

Se la funzione fallisce per qualsiasi motivo, MediaTailor scarta l'output e procede come se non fosse associata alcuna funzione. Lo spettatore continua a vedere gli annunci, ma senza il targeting per tipo di dispositivo.

Argomenti suggeriti

Ora hai una funzione funzionante collegata a una configurazione di riproduzione. Da qui: