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 pemirsa dari layanan eksternal (dalam hal ini, LiveRamp) pada awal sesi 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 penampil 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 kredensyal 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. Penampil memulai sesi pemutaran.

  2. MediaTailor menjalankan hook PRE_SESSION_INITIALIZATION siklus hidup dan berjalan. fetchLiveRamp

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

  4. Ekspresi output mengekstrak nilai dari amplop pertama dalam array respons (response.body.envelopes[0].value) dan menuliskannya 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 HTTP_REQUEST, PRE_SESSION_INISIALISASI, Pemecahan masalah dan pemantauan, dan Batas .