你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure Functions 消耗计划时,每个业务流程协调程序函数重放计为一次单独的可计费调用,并且你还需支付存储提供程序(用于持久化业务流程状态)费用。 本文细分了这些特定的成本领域,以便您可以了解和优化您的“Durable Functions”支出。
本文内容:
- 业务流程协调程序函数重播计费 - 重放如何在消耗计划上产生费用
- 等待和暂停期间停止计费 - 为什么等待时不收费
- HTTP 轮询和重放费用 - 内部轮询如何影响计费
- 持久任务计划程序 - 专用后端定价
- Azure 存储 事务 - 存储帐户成本驱动因素
业务流程协调程序函数重播计费
在编排的生命周期中,编排器函数可能会重放多次。 Azure Functions运行时将每个重播视为不同的函数调用。 因此,当使用 Azure Functions 消耗计划时,每次编排器函数重放都会产生计费。 其他计划类型不收取编排函数重播费用。
等待和暂停期间计费停止
当业务流程协调程序函数等待异步任务完成时,运行时会认为该特定函数调用已完成。 编排器函数的计费会在该点停止。 在下一个协调器函数重播之前,它不会恢复。 你不需要对业务流程协调程序函数中的等待或生成所花费的任何时间付费。
注释
与同时运行和计费的直接函数调用不同,协调程序函数避免出现这种 双重计费 问题。 当编排器函数等待活动函数或子编排的结果时,其计费会停止。
HTTP 轮询和重播费用
编排功能可以对外部终结点执行长时间的 HTTP 调用。 “调用 HTTP”API 可能会在内部轮询 HTTP 终结点,同时遵循异步 202 模式。
内部 HTTP 轮询本身不会产生额外的费用。 然而,每次轮询都可能导致业务流程协调程序函数重放,而这些重放在消耗计划上按标准费率计费。
持久任务计划程序事务
Durable Task 计划程序是 Durable Task 的专用托管后端,可用于任何 Functions 托管计划。 它基于 操作提供两种定价模型。
操作是持久任务计划程序发送到你的应用程序的消息,触发业务流程协调程序、活动或实体函数的执行。 操作包括启动编排、计划活动、完成计时器以及处理结果。
| SKU | 说明 |
|---|---|
| 专用 | 每个容量单位的固定月成本(CU)。 每个 CU 每秒最多支持 2,000 个操作和 50 GB 的编排数据存储。 |
| 消耗(预览版) | 按使用付费模型,仅对已分派的操作付费。 非常适合可变工作负载和开发场景。 |
有关详细的定价信息、SKU 比较和容量规划示例,请参阅 Durable Task Scheduler 计费。
Azure 存储事务
使用 Azure 存储 提供程序时,Durable Functions可以通过 blob 租约保留状态持久、处理消息和管理分区。 由于你拥有此存储帐户,因此任何事务费用都计入Azure订阅。
几个因素影响 Azure 存储 的成本。 函数应用实例和缩放控制器的队列轮询通常会产生最多的存储事务。 其他因素包括:
- 用于分区管理的 Blob 租约操作
- 跨函数的任务中心资源共享
如需了解 Azure 存储 的成本和队列轮询行为,请参阅 Azure 存储 提供程序。
小窍门
若要比较不同存储提供程序的成本结构、功能和权衡,请参阅Durable Functions存储提供程序。