Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Panduan memulai cepat fungsi
Panduan ini memandu Anda membuat fungsi pertama Anda, melampirkannya ke konfigurasi pemutaran, dan memverifikasi bahwa itu berjalan. Pada akhirnya, Anda akan memiliki fungsi kerja yang mengklasifikasikan setiap jenis perangkat pemirsa (ctv,mobile, ataudesktop) dan menyimpannya sebagai parameter pemutar yang tersedia di setiap permintaan ADS.
Prasyarat
Sebelum Anda mulai, pastikan Anda memiliki konfigurasi MediaTailor pemutaran yang ada. Jika Anda tidak memilikinya, lihat Memulai dengan MediaTailor.
Langkah 1: Buat fungsi
Pada langkah ini, Anda membuat fungsi yang mengklasifikasikan jenis perangkat penampil berdasarkan string agen pengguna dan menyimpan hasilnya dalam parameter pemain. Fungsi ini menggunakan tipe keluaran Kustom (tidak ada panggilan API eksternal) dengan JSONatareferensi ekspresi ekspresi untuk mengevaluasi agen pengguna.
-
Buka konsol MediaTailor
. -
Di panel navigasi, pilih Fungsi.
-
Pilih Buat fungsi.
-
Dalam modal create wizard, pilih Buat dari awal, lalu pilih L anjutkan.
-
Di bawah Jenis fungsi, pilih ubin keluaran kustom.
-
Di bawah Detail fungsi, masukkan yang berikut ini:
-
ID Fungsi:
myFirstFunction -
Deskripsi:
Classify device type from user agent
-
-
Di bawah Konfigurasi keluaran kustom, di bagian Output, tambahkan satu baris:
-
Kunci:
player_params.deviceType -
Nilai:
{% $contains(session.user_agent, 'CTV') ? 'ctv' : $contains(session.user_agent, 'Mobile') ? 'mobile' : 'desktop' %}
-
-
Pilih Buat fungsi.
Pemberitahuan sukses mengonfirmasi bahwa fungsi telah dibuat, dan Anda diarahkan ke halaman detail fungsi.
Konfigurasi fungsi yang dihasilkan adalah:
{ "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' %}" } } }
Langkah 2: Lampirkan fungsi ke konfigurasi pemutaran
Petakan fungsi ke hook siklus hidup pada konfigurasi pemutaran Anda. Pemetaan memberi MediaTailor tahu kapan harus menjalankan fungsi.
-
Di panel navigasi, pilih Konfigurasi.
-
Pilih konfigurasi pemutaran yang ingin Anda perbarui.
-
Pilih Edit.
-
Perluas bagian konfigurasi Fungsi.
-
Untuk kait inisialisasi sesi, pilih
myFirstFunctiondari dropdown. -
Pilih Simpan.
Ini melek myFirstFunction at pada kait Pre-session inisialisasi siklus hidup. Pemetaan fungsi yang dihasilkan adalah:
{ "FunctionMapping": { "PRE_SESSION_INITIALIZATION": "myFirstFunction" } }
MediaTailor menjalankan fungsi sekali di awal setiap sesi baru pada konfigurasi pemutaran ini.
Langkah 3: Mulai sesi dan verifikasi fungsi berjalan
Mulai sesi pemutaran baru untuk memicu fungsi. Gunakan permintaan inisialisasi sesi ke titik akhir inisialisasi sesi konfigurasi pemutaran Anda.
MediaTailor secara otomatis menerbitkan CloudWatch metrik untuk setiap eksekusi fungsi — tidak diperlukan opt-in. Setelah memulai sesi, periksa metrik berikut di AWS/MediaTailor namespace untuk mengonfirmasi bahwa fungsi Anda berjalan:
-
PreSessionInitHook.Invocations— Mengkonfirmasi kait ditembakkan. -
PreSessionInitHook.Errors— Seharusnya 0 jika fungsi berhasil. -
Function.Invocations— Mengonfirmasi fungsi individu yang dijalankan. Metrik ini mencakupFunctionId,FunctionType, danHookTypedimensi sehingga Anda dapat memfiltermyFirstFunctionsecara spesifik.
Jika fungsi gagal, MediaTailor memancarkan peristiwa log kesalahan ke Manifest Logs secara default (tidak diperlukan konfigurasi):
-
PRE_SESSION_INIT_HOOK_ERRORKeg Hook-level agalan denganerrorTypedancause. -
PRE_SESSION_INIT_FUNCTION_ERROR— Function-level kegagalan dengan detail spesifikfunctionIddan kesalahan.
Contoh berikut menunjukkan PRE_SESSION_INIT_FUNCTION_ERROR peristiwa untuk kesalahan sintaks dalam ekspresi fungsi:
{ "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": {} }
Gunakan eventId bidang untuk menghubungkan peristiwa kesalahan hook dan function untuk eksekusi yang sama. Bid errorType ang memberi tahu Anda kelas kegagalan — lihat Pemecahan masalah dan pemantauan untuk daftar lengkap jenis kesalahan dan perbaikan.
catatan
Untuk pencatatan keberhasilan yang terperinci, pilih PRE_SESSION_INIT_HOOK_SUMMARY dan ikut PRE_SESSION_INIT_FUNCTION_COMPLETED acara dalam konfigurasi Log Manifest Anda. Peristiwa ringkasan menunjukkan hasil hook untuk setiap eksekusi. Peristiwa yang diselesaikan menunjukkan input, output, dan request/response detail HTTP setiap fungsi. Ini dinonaktifkan secara default untuk meminimalkan biaya log. Untuk informasi selengkapnya, lihat Pemecahan masalah dan pemantauan.
Apa yang terjadi di balik layar
Berikut adalah alur permintaan lengkap untuk fungsi yang baru saja Anda buat:
-
Pemain memulai sesi dengan MediaTailor.
-
MediaTailor mengaktifkan kait
PRE_SESSION_INITIALIZATIONsiklus hidup dan berjalanmyFirstFunction. -
Fungsi mengevaluasi
session.user_agentbidang dan menulisctv,mobile, ataudesktopkeplayer_params.deviceType. -
MediaTailor membuat sesi dan mengembalikan manifes ke pemain.
-
Pemain mengalami jeda iklan selama pemutaran.
-
MediaTailor mengaktifkan kait
PRE_ADS_REQUESTsiklus hidup, lalu membuat permintaan ADS. KarenadeviceTypedisimpan dalam parameter pemain, tersedia untuk dimasukkan dalam URL permintaan ADS melalui substitusi variabel dinamis. -
ADS menggunakan jenis perangkat untuk menampilkan iklan iklan yang ditargetkan.
-
MediaTailor menjahit iklan ke dalam manifes dan mengembalikannya ke pemain.
Jika fungsi gagal karena alasan apa pun, membu MediaTailor ang output dan melanjutkan seolah-olah tidak ada fungsi yang dilampirkan. Pemirsa masih melihat iklan — hanya tanpa penargetan jenis perangkat.
Topik yang disarankan
Anda sekarang memiliki fungsi kerja yang dilampirkan ke konfigurasi pemutaran. Dari sini:
-
Untuk mempelajari bidang input dan ruang nama keluaran apa yang tersedia di setiap hook siklus hidup, lihat. Pengait siklus hidup
-
Untuk mempelajari tentang berbagai jenis fungsi dan cara merangkainya bersama-sama, lihatJenis fungsi dan komposisi.
-
Untuk melihat contoh kerja lengkap, lihatContoh fungsi.