本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
函數類型和合成
AWS Elemental MediaTailor 提供六種函數類型,每個都專為不同的工作類別而設計。您可以在建立函數時選擇類型,而類型會決定函數在執行時間可以執行的動作。此頁面說明每種類型的執行方式、使用時機,以及如何將函數編寫成多步驟管道。
函數類型概觀
| Type | Category | 用途 |
|---|---|---|
CUSTOM_OUTPUT |
資料轉換 | 根據目前的工作階段狀態評估運算式並產生輸出。無外部呼叫。 |
HTTP_REQUEST |
外部整合 | 對外部服務進行 HTTP 呼叫,然後評估可參考回應的輸出表達式。 |
VAST_REQUEST |
外部整合 | 呼叫 VAST 端點,將回應剖析為 VAST (包括包裝函式解析度),然後評估可參考剖析廣告的輸出表達式。 |
SEQUENTIAL_EXECUTOR |
協調 | 依序執行一系列函數,透過暫時資料在步驟之間傳遞資料。 |
CONCURRENT_EXECUTOR |
協調 | 平行執行一組函數,直到並行上限,然後合併其輸出。 |
AWS_SERVICE_REQUEST |
AWS 服務整合 | 對支援 AWS 的服務 API 提出已驗證的請求,然後評估可以參考回應的輸出表達式。 |
每種類型都提供不同的角色。在建立函數時選擇類型 — 類型決定函數在執行時間可以執行的動作。
合成規則
MediaTailor 會對函數合成強制執行下列限制:
| 規則 | 限制 |
|---|---|
| 巢狀深度上限 | 2 (執行器可以包含函數,但這些子系本身不能是執行器) |
| 每個序列的步驟 | 1 到 10 |
| 每個並行執行器的子項 | 1 到 10 |
| 並行上限 (並行執行器) | 1 到 2 |
| 每個生命週期關聯的總函數執行數 | 20 |
| 循環參考 | 不允許。函數無法直接或間接參考本身。 |
| 函數存在 | 中參考的所有函數FunctionList都必須存在,您才能建立或更新父執行器。 |
| 唯一命名空間 (並行執行器) | 每個子系在執行器中都必須有唯一的別名或函數 ID。 |
當您建立函數時,MediaTailor 會驗證表達式語法、檢查受限函數、驗證所有參考函數是否存在,以及偵測循環參考。當您將函數連接至播放組態時,MediaTailor 還會驗證整個函數樹狀結構的所有輸出金鑰是否與指派的生命週期掛鉤相容。