View a markdown version of this page

CUSTOM_OUTPUT - AWS Elemental MediaTailor

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CUSTOM_OUTPUT

使用情況

CUSTOM_OUTPUT 當您的函數邏輯純粹是運算時,請使用 。常見的使用案例包括根據使用者代理程式字串分類裝置、使用 A/B 測試邏輯選取廣告決策伺服器 URLs,以及在玩家參數到達廣告決策伺服器之前重新格式化。

CUSTOM_OUTPUT 函數是最快的類型,因為它們會在沒有網路呼叫的記憶體中評估表達式。每當您無需聯絡外部服務即可完成目標時,請選擇此類型。

組態欄位

CUSTOM_OUTPUT 函數有兩個欄位:

  • 執行時間 — 表達式語言。將此設定為 JSONATA

  • 輸出 — 鍵/值對的映射。每個索引鍵都是輸出繫結名稱 (例如 player_params.device_type),而每個值都是 MediaTailor 在執行時間評估的表達式。

注意

使用 {%...%} 在字串欄位中包裝 JSONata 運算式。沒有這些分隔符號的值會被視為靜態字串。例如, 會"{%session.id%}"評估表達式,而 "session.id"是文字文字。

執行時間行為

當 MediaTailor 執行CUSTOM_OUTPUT函數時,它會根據目前的工作階段狀態評估輸出區塊中的每個表達式。所有表達式都會看到相同的輸入快照。評估的結果會成為函數的輸出。

如果有任何表達式無法評估,MediaTailor 會捨棄整個函數的輸出,並像未連接函數一樣繼續。函數不會部分遞交結果。

範例:A/B 流量分割

下列函數會將每個廣告休息時間隨機指派給兩個廣告決策伺服器 URLs之一。它專為PRE_ADS_REQUEST生命週期掛鉤而設計。

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

如需此範例的完整演練,請參閱 函數範例