本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
函數限制
此頁面列出適用於 函數的限制。這些限制會在撰寫時間 (建立或更新函數時) 和執行時間 (函數執行時) 強制執行。
勾點執行限制
| 勾點 | 限制 | Value |
|---|---|---|
PRE_SESSION_INITIALIZATION |
總逾時 | 2,000 毫秒 |
PRE_SESSION_INITIALIZATION |
總player_params大小 |
1,000 個字元 |
PRE_ADS_REQUEST |
總逾時 | 2,000 毫秒 |
這些逾時涵蓋整個勾點執行,包括所有函數步驟和 HTTP 呼叫。如果勾點超過其逾時,MediaTailor 會捨棄所有輸出並繼續,就像未連接任何函數一樣。
個別函數逾時 (例如 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 |
| 巢狀深度上限 | 2 |
| 每個勾點的函數執行總數 | 20 |
| 每個函數的輸出項目 | 20 |
| 循環參考 | 不允許 |
這些限制會在撰寫時強制執行。
HTTP 請求限制
| 限制 | Value |
|---|---|
| URL 長度 | 2,048 個字元 |
| 請求內文大小 | 64 KB |
| 標頭計數 | 50 |
| 標頭名稱長度 | 256 個字元 |
| 標頭值長度 | 8,192 個字元 |
| 請求逾時 | 100–2,000 毫秒 (客戶可透過 設定RequestTimeoutMilliseconds) |
| 允許的 URL 配置 | https, http |
| 限制標頭 | Host, Transfer-Encoding,
Content-Length, Connection |
URL 長度、內文大小、標頭計數和標頭大小限制會在編寫時強制執行。請求逾時和限制標頭會在執行時間強制執行。
如果函數設定限制標頭,MediaTailor 會在撰寫時間接受函數組態,但在執行期間傳送 HTTP 請求時捨棄標頭。
回應限制
| 限制 | Value |
|---|---|
response.body 大小上限 |
20,000 個字元 |
response.text 長度上限 |
20,000 個字元 |
這些限制會在執行時間強制執行。
輸出限制
| 限制 | Value |
|---|---|
| 輸出值長度上限 (每個索引鍵) | 1,000 個字元 |
這些限制會在執行時間強制執行。
允許的 JSONata 函數
如需允許函數的完整清單,請參閱 JSONata 表達式參考。
如需診斷這些限制相關錯誤的說明,請參閱 故障診斷和監控。