

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

# 函數限制
<a name="monetization-functions-limits"></a>

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

## 勾點執行限制
<a name="monetization-functions-limits-hook"></a>


| 勾點 | 限制 | 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 個字元。

## 表達式限制
<a name="monetization-functions-limits-expression"></a>


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

當表達式在執行時間超過限制時，MediaTailor 會停止表達式並記錄錯誤。如需特定錯誤類型的詳細資訊，請參閱 [故障診斷和監控](monetization-functions-troubleshooting.md)。

## 函數合成限制
<a name="monetization-functions-limits-composition"></a>


| 限制 | Value | 
| --- | --- | 
| 每個循序執行器的步驟 | 1–10 | 
| 巢狀深度上限 | 2 | 
| 每個勾點的函數執行總數 | 20 | 
| 每個函數的輸出項目 | 20 | 
| 循環參考 | 不允許 | 

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

## HTTP 請求限制
<a name="monetization-functions-limits-http"></a>


| 限制 | 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 請求時捨棄標頭。

## 回應限制
<a name="monetization-functions-limits-response"></a>


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

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

## 輸出限制
<a name="monetization-functions-limits-output"></a>


| 限制 | Value | 
| --- | --- | 
| 輸出值長度上限 （每個索引鍵） | 1，000 個字元 | 

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

## 允許的 JSONata 函數
<a name="monetization-functions-limits-jsonata"></a>

如需允許函數的完整清單，請參閱 [JSONata 表達式參考](monetization-functions-jsonata.md)。

如需診斷這些限制相關錯誤的說明，請參閱 [故障診斷和監控](monetization-functions-troubleshooting.md)。