View a markdown version of this page

Contoh 2: pembagian A/B lalu lintas - AWS Elemental MediaTailor

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

Contoh 2: pembagian A/B lalu lintas

Skenario

Layanan streaming ingin menggunakan fungsi CUSTOM_OUTPUT untuk membagi lalu lintas permintaan iklan secara acak antara dua URL server keputusan iklan (ADS) untuk pengujian. A/B Setengah dari permintaan iklan masuk ke titik akhir v1 dan setengahnya pergi ke titik akhir v2.

Konfigurasi

A/B pembagian lalu lintas (CUSTOM_OUTPUT):

{ "FunctionId": "abTestAdsUrl", "FunctionType": "CUSTOM_OUTPUT", "CustomOutputConfiguration": { "Runtime": "JSONATA", "Output": { "adsRequest.url": "{%$random() < 0.5 ? 'https://ads.example.com/v1/decision?session=' & session.id : 'https://ads.example.com/v2/decision?session=' & session.id%}" } } }

Dalam konfigurasi ini:

  • FunctionId— Nama unik untuk fungsi ini.

  • FunctionTypeCUSTOM_OUTPUT mengevaluasi ekspresi tanpa membuat panggilan HTTP.

  • Output— Memetakan adsRequest.url ke ekspresi yang secara acak memilih salah satu dari dua URL ADS.

Pemetaan fungsi

{ "FunctionMapping": { "PRE_ADS_REQUEST": "abTestAdsUrl" } }

Apa yang terjadi ketika fungsi berjalan

  1. Jeda iklan ditemukan selama pemutaran.

  2. MediaTailor menjalankan hook PRE_ADS_REQUEST siklus hidup dan berjalan. abTestAdsUrl

  3. $random()Fungsi mengembalikan nilai antara 0 dan 1. Jika nilainya kurang dari 0,5, fungsi menetapkan URL ADS ke titik akhir v1. Jika tidak, ia menetapkan URL ke titik akhir v2.

$random()Fungsi dievaluasi pada setiap jeda iklan, sehingga pembagiannya adalah per permintaan iklan, bukan per sesi.

Tip

Untuk menyesuaikan rasio split lalu lintas, ubah nilai ambang batas. Misalnya, $random() < 0.8 mengirimkan 80% lalu lintas ke URL pertama dan 20% ke URL kedua.

catatan

Menulis untuk adsRequest.url mengganti URL ADS default yang dikonfigurasi dalam konfigurasi pemutaran untuk jeda iklan saat ini.

Lihat informasi selengkapnya di KUSTOM_OUTPUT, PRE_ADS_REQUEST, dan Referensi ekspresi Jsonata.