【发布时间】:2020-03-28 18:46:17
【问题描述】:
我了解 Azure Durable 函数使用一系列 Azure 存储队列和表来管理业务流程和状态。
最大 Activity 响应是否会受到队列或存储属性限制 (64 Kb) 的限制?
活动结果到底存储在哪里?
【问题讨论】:
标签: c# .net azure-functions azure-storage azure-durable-functions
我了解 Azure Durable 函数使用一系列 Azure 存储队列和表来管理业务流程和状态。
最大 Activity 响应是否会受到队列或存储属性限制 (64 Kb) 的限制?
活动结果到底存储在哪里?
【问题讨论】:
标签: c# .net azure-functions azure-storage azure-durable-functions
所以我进行了一些挖掘,如果 json 小于 64 Kb,则活动的结果似乎存储在表存储中,否则存储为 blob。
如果您查看持久函数的历史记录表,您可以看到 EventType 列为 TaskCompleted 的行,这表示由您的协调器触发的活动已完成,您可以看到另一列Result 是 json 结果或存储 Activity 结果的 blob 路径。
所以理论上,Activity 结果的大小限制是 blob 的大小限制(大约 4.75TiB)。虽然,在你达到那个点之前可能还有一些其他限制因素,即内存。
我还要补充一点,编排器/活动函数的实例需要从存储中读取结果。这可能会影响性能,尤其是在调用大量活动并返回大量数据的情况下。
【讨论】: