本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
函数类型和构成
AWS Elemental MediaTailor 提供四种功能类型,每种类型专为不同的工作类别而设计。您在创建函数时选择一种类型,该类型决定了该函数在运行时可以做什么。本页说明每种类型如何执行、何时使用以及如何将函数组合成多步流水线。
函数类型概述
| Type | 类别 | 用途 |
|---|---|---|
CUSTOM_OUTPUT |
数据转换 | 根据当前会话状态评估表达式并生成输出。没有外部通话。 |
HTTP_REQUEST |
外部整合 | 对外部服务进行 HTTP 调用,然后评估可以引用响应的输出表达式。 |
SEQUENTIAL_EXECUTOR |
编排 | 按顺序运行一系列函数,通过临时数据在步骤之间传递数据。 |
CONCURRENT_EXECUTOR |
编排 | 并行运行一组函数,直至最大并发度,然后合并它们的输出。 |
每种类型都有不同的作用。创建函数时选择一种类型——该类型决定了该函数在运行时可以做什么。
构图规则
MediaTailor 对函数组合强制执行以下限制:
| 规则 | 限制 |
|---|---|
| 最大嵌套深度 | 2(执行器可以包含函数,但这些子级本身不能成为执行者) |
| 每个序列的步数 | 1 到 10 |
| 每个并行执行者的子女数 | 1 到 10 |
| 最大并发度(并发执行器) | 1 到 2 |
| 每个生命周期挂钩的函数执行总数 | 20 |
| 循环引用 | 不允许。函数不能直接或间接引用自身。 |
| 函数的存在 | 在创建或更新父执行器之前,中引用的所有函数都FunctionList必须存在。 |
| 唯一的命名空间(并行执行器) | 每个孩子在执行器中必须有唯一的别名或函数 ID。 |
创建函数时, MediaTailor 会验证表达式语法、检查受限函数、验证所有引用的函数是否存在,并检测循环引用。当您将函数附加到播放配置时, MediaTailor 还会验证整个函数树中的所有输出键是否与分配的生命周期挂钩兼容。