View a markdown version of this page

Panduan memulai cepat fungsi - AWS Elemental MediaTailor

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.

  1. Buka konsol MediaTailor.

  2. Di panel navigasi, pilih Fungsi.

  3. Pilih Buat fungsi.

  4. Dalam modal create wizard, pilih Buat dari awal, lalu pilih L anjutkan.

  5. Di bawah Jenis fungsi, pilih ubin keluaran kustom.

  6. Di bawah Detail fungsi, masukkan yang berikut ini:

    • ID Fungsi: myFirstFunction

    • Deskripsi: Classify device type from user agent

  7. 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' %}

  8. 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.

  1. Di panel navigasi, pilih Konfigurasi.

  2. Pilih konfigurasi pemutaran yang ingin Anda perbarui.

  3. Pilih Edit.

  4. Perluas bagian konfigurasi Fungsi.

  5. Untuk kait inisialisasi sesi, pilih myFirstFunction dari dropdown.

  6. 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, dan HookType dimensi sehingga Anda dapat memfilter myFirstFunction secara 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 dengan errorType dancause.

  • PRE_SESSION_INIT_FUNCTION_ERROR— Function-level kegagalan dengan detail spesifik functionId dan 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:

  1. Pemain memulai sesi dengan MediaTailor.

  2. MediaTailor mengaktifkan kait PRE_SESSION_INITIALIZATION siklus hidup dan berjalanmyFirstFunction.

  3. Fungsi mengevaluasi session.user_agent bidang dan menulisctv,mobile, atau desktop keplayer_params.deviceType.

  4. MediaTailor membuat sesi dan mengembalikan manifes ke pemain.

  5. Pemain mengalami jeda iklan selama pemutaran.

  6. MediaTailor mengaktifkan kait PRE_ADS_REQUEST siklus hidup, lalu membuat permintaan ADS. Karena deviceType disimpan dalam parameter pemain, tersedia untuk dimasukkan dalam URL permintaan ADS melalui substitusi variabel dinamis.

  7. ADS menggunakan jenis perangkat untuk menampilkan iklan iklan yang ditargetkan.

  8. 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.