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

Aar*_*ong 6 .net c# azure-storage azure-functions azure-durable-functions

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

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

活动结果到底存储在哪里?

Aar*_*ong 10

所以我做了一些挖掘,看起来如果 json < 64 Kb,则 Activity 的结果将存储在表存储中,否则它将存储为 blob。

如果您查看持久函数的历史记录表,您可以看到该列所在的行,EventTypeTaskCompleted列指示由协调器触发的活动的完成,您可以看到另一列Result它是 json 结果或路径存储活动结果的 blob。

因此理论上,Activity 结果的大小限制就是 blob 的大小限制(大约 4.75TiB)。尽管如此,在您达到这一点之前可能还存在一些其他限制因素,即记忆力。

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

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