View a markdown version of this page

Exemple 1 : Enrichissement des données - AWS Elemental MediaTailor

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemple 1 : Enrichissement des données

Scénario

Un service de streaming souhaite récupérer les données d'identité de l'audience auprès d'un service externe (dans ce cas, LiveRamp) au début de la session et les stocker dans les paramètres du lecteur pour le ciblage publicitaire plus tard dans la session. Une enveloppe d'identité est un identifiant crypté fourni par un service de résolution d'identité qui permet aux systèmes publicitaires de reconnaître un internaute sur tous les appareils et plateformes sans révéler d'informations personnelles.

Configuration

Récupérez LiveRamp l'enveloppe (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%}" } } }
Note

Bearer ramp-token-789Remplacez-les par vos propres identifiants d'API. Ne stockez pas les jetons sensibles directement dans les configurations fonctionnelles en production. Envisagez d'utiliser une stratégie de rotation des jetons.

Définissez RequestTimeoutMilliseconds en fonction du temps de réponse attendu de votre service externe. Une valeur inférieure réduit la latence mais augmente le risque d'erreurs de temporisation.

Cartographie des fonctions

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

Que se passe-t-il lorsque la fonction s'exécute

  1. Un spectateur démarre une session de lecture.

  2. MediaTailor exécute le hook PRE_SESSION_INITIALIZATION du cycle de vie et s'exécutefetchLiveRamp.

  3. La fonction crée l'URL de demande à l'aide de l' LiveRampAPI player_params.hashedId et l'appelle. Dans l'URL, pid il y a l'ID du partenaire et iv l'identifiant haché du spectateur.

  4. L'expression de sortie extrait la valeur de la première enveloppe du tableau de réponses (response.body.envelopes[0].value) et l'écrit dansplayer_params.envelope_id.

Astuce

Pour gérer les erreurs de manière explicite, vérifiez response.statusCode avant d'accéder aux données de réponse : {%response.statusCode = 200 ? response.body.envelopes[0].value : ''%}

Pour plus d'informations, consultez REQUÊTE_HTTP, INITIALISATION AVANT LA SESSION, Résolution des problèmes et surveillance et Restrictions.