View a markdown version of this page

函數限制 - AWS Elemental MediaTailor

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

函數限制

此頁面列出適用於 函數的限制。這些限制會在撰寫時間 (建立或更新函數時) 和執行時間 (函數執行時) 強制執行。

勾點執行限制

勾點 限制 Value
PRE_SESSION_INITIALIZATION 總逾時 2,000 毫秒
PRE_SESSION_INITIALIZATION 總player_params大小 1,000 個字元
PRE_ADS_REQUEST 總逾時 2,000 毫秒
POST_ADS_RESPONSE 總逾時 2,000 毫秒
POST_ADS_RESPONSE 輸入承載大小 128 KB
POST_ADS_RESPONSE 輸出大小 256 KB
PRE_MANIFEST_INSERTION 總逾時 2,000 毫秒
PRE_MANIFEST_INSERTION 輸入承載大小 128 KB
PRE_MANIFEST_INSERTION 輸出大小 256 KB
PRE_MANIFEST_INSERTION 每次調用投射廣告 10
請求路徑勾點合併 (每個請求) 共用執行預算 2,000 毫秒

這些逾時涵蓋整個勾點執行,包括所有函數步驟和 HTTP 呼叫。如果勾點超過其逾時,MediaTailor 會捨棄所有輸出並繼續,就像未連接任何函數一樣。

除了每個勾點本身的逾時之外,在單一請求內執行的 POST_ADS_RESPONSE、 PRE_ADS_REQUEST和 PRE_MANIFEST_INSERTION勾點會共享 2,000 毫秒的合併執行預算。較早勾點所花費的時間可減少在相同請求中稍後勾點可用的預算,而勾點的有效逾時是其自身逾時和剩餘預算中較小者。如果在掛鉤開始之前用盡預算,MediaTailor 會完全略過該掛鉤並繼續處理請求。 會在工作階段初始化期間PRE_SESSION_INITIALIZATION執行,且不屬於合併預算。

輸入承載大小限制適用於 MediaTailor 為 POST_ADS_RESPONSE和 PRE_MANIFEST_INSERTION掛鉤建置的序列化 JSON 輸入。如果輸入超過 128 KB,MediaTailor 會略過該請求的勾點叫用。輸出大小限制會限制函數可寫入掛鉤可寫入命名空間的總序列化大小;超過 256 KB 的輸出會遭到捨棄。

個別函數逾時 (例如 RequestTimeoutMilliseconds HTTP_REQUEST 函數) 必須符合勾點的總逾時。例如,如果勾點逾時為 2,000 毫秒,且 HTTP_REQUEST 函數RequestTimeoutMilliseconds設定為 2,000 毫秒,則如果任何處理發生在 HTTP 呼叫之前或之後,函數可能會在完成之前逾時。

player_params 總大小包含所有輸出索引鍵名稱和值的合併字元計數。例如,將 deviceType、region、 mobile和 輸出player_params.deviceType = "mobile"player_params.region = "us-east-1"並us-east-1計入總計 1,000 個字元。

表達式限制

限制 Value 在 強制執行
每個表達式的 CPU 時間 100 毫秒 執行時期
堆疊深度 100 執行時期
表達式長度 1,000 個字元 編寫

當表達式在執行時間超過限制時,MediaTailor 會停止表達式並記錄錯誤。如需特定錯誤類型的詳細資訊,請參閱 故障診斷和監控。

函數合成限制

限制 Value
每個循序執行器的步驟 1–10
每個並行執行器的子項 1–10
並行上限 (並行執行器) 1–2
預設逾時 (並行執行器) 2,000 毫秒
每個並行執行器的唯一命名空間 必要 (在撰寫時驗證)
巢狀深度上限 2
每個勾點的函數執行總數 20
每個函數的輸出項目 20
循環參考 不允許

這些限制會在撰寫時強制執行。

HTTP 請求限制

限制 Value
URL 表達式長度 25,000 個字元
URL 長度 (評估後) 2,048 個字元
內文表達式長度 100,000 個字元
請求內文大小 (評估後) 64 KB
標頭計數 50
標頭名稱長度 256 個字元
標頭值長度 8,192 個字元
請求逾時 100–2,000 毫秒 (客戶可透過 設定RequestTimeoutMilliseconds)
允許的 URL 配置 https, http
限制標頭 Host, Transfer-Encoding, Content-Length, Connection

當您建立或更新函數時,運算式長度限制和標頭限制會在撰寫時間強制執行。MediaTailor 評估表達式之後,會在執行時間強制執行評估的 URL 和內文大小限制、請求逾時和限制的標頭。在撰寫時間接受的 URL 表達式仍然可以在執行時間超過評估的 URL 限制,在這種情況下,不會傳送請求。

如果函數設定限制標頭,MediaTailor 會在撰寫時間接受函數組態,但在執行期間傳送 HTTP 請求時捨棄標頭。

回應限制

限制 Value
response.body 大小上限 20,000 個字元
response.text 長度上限 20,000 個字元

這些限制會在執行時間強制執行。

輸出限制

限制 Value
輸出值長度上限 (每個索引鍵) 1,000 個字元

這些限制會在執行時間強制執行。

允許的 JSONata 函數

如需允許函數的完整清單,請參閱 JSONata 表達式參考。

如需診斷這些限制相關錯誤的說明,請參閱 故障診斷和監控。