Azure Durable Functions 中的最大 Activity 响应数据大小限制

Maximum Activity response data size limit in Azure Durable Functions

我了解 Azure Durable 函数使用一系列 Azure 存储队列和表来管理编排和状态。

最大 Activity 响应是否会受到队列或存储 属性 限制 (64 Kb) 的限制?

activity 结果究竟存储在哪里?

所以我做了一些挖掘,如果 json < 64 Kb,活动的结果似乎存储在 table 存储中,否则它存储为 blob。

如果您查看持久函数的历史记录 table,您可以看到 EventType 列为 TaskCompleted 的行,这表明 [=25] =],您可以看到另一列 Result,它是 json 结果或存储 Activity 结果的 blob 路径。

因此理论上,Activity 结果的大小限制是 blob 的大小限制(大约 4.75TiB)。虽然,在你达到那个点之前可能还有一些其他限制因素,即内存。

我还要补充一点,orchestrator/activity 函数的实例需要从存储中读取结果。这可能会影响性能,尤其是在调用大量活动并返回大量数据时。

参考:https://docs.microsoft.com/en-us/azure/storage/common/storage-scalability-targets#azure-blob-storage-scale-targets