View a markdown version of this page

Contoh 1: Pengayaan data - AWS Elemental MediaTailor

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh 1: Pengayaan data

Skenario

Layanan streaming ingin mengambil data identitas audiens dari layanan eksternal (dalam hal ini, LiveRamp) saat sesi dimulai dan menyimpannya dalam parameter pemain untuk penargetan iklan nanti di sesi. Amplop identitas adalah pengenal terenkripsi yang disediakan oleh layanan resolusi identitas yang memungkinkan sistem iklan mengenali pemirsa di seluruh perangkat dan platform tanpa mengekspos informasi pribadi.

Konfigurasi

Ambil LiveRamp amplop (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%}" } } }
catatan

Ganti Bearer ramp-token-789 dengan kredentif API Anda sendiri. Jangan menyimpan token sensitif secara langsung dalam konfigurasi fungsi dalam produksi. Pertimbangkan untuk menggunakan strategi rotasi token.

Tetapkan RequestTimeoutMilliseconds berdasarkan waktu respons yang diharapkan dari layanan eksternal Anda. Nilai yang lebih rendah mengurangi latensi tetapi meningkatkan kemungkinan kesalahan batas waktu.

Pemetaan fungsi

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

Apa yang terjadi ketika fungsi berjalan

  1. Pemirsa memulai sesi pemutaran.

  2. MediaTailor menjalankan kait PRE_SESSION_INITIALIZATION siklus hidup dan menjalankanfetchLiveRamp.

  3. Fungsi membangun URL permintaan menggunakan player_params.hashedId dan memanggil LiveRamp API. Dalam URL, pid adalah ID mitra dan iv merupakan pengenal penampil yang di-hash.

  4. Ekspresi keluaran mengekstrak nilai dari amplop pertama dalam array respons (response.body.envelopes[0].value) dan menulisnya keplayer_params.envelope_id.

Tip

Untuk menangani kesalahan secara eksplisit, periksa response.statusCode sebelum mengakses data respons: {%response.statusCode = 200 ? response.body.envelopes[0].value : ''%}

Untuk informasi lebih lanjut, lihat Permintaan HTTP, Pre-session inisialisasi, Pemecahan masalah dan pemantauan, dan Batas .