我了解 Azure Durable 函数使用一系列 Azure 存储队列和表来管理编排和状态。
最大事件响应是否会受到队列或存储属性限制 (64 Kb) 的限制?
事件结果究竟存储在哪里?
最佳答案
因此,我进行了一些挖掘,如果 json 小于 64 Kb,则来自事件的结果似乎存储在表存储中,否则存储为 blob。
如果您查看持久函数的历史记录表,您可以看到 EventType
所在的行。列是 TaskCompleted
这表明由您的编排器触发的事件已完成,您可以看到另一列 Result
这是 json 结果或存储事件结果的 blob 的路径。
所以理论上,Activity 结果的大小限制是 blob 的大小限制(大约 4.75TiB)。虽然,在你达到那个点之前可能还有一些其他限制因素,即内存。
我还要补充一点,协调器/事件函数的实例需要从存储中读取结果。这可能会影响性能,尤其是在调用大量事件并返回大量数据的情况下。
引用:https://docs.microsoft.com/en-us/azure/storage/common/storage-scalability-targets#azure-blob-storage-scale-targets
关于c# - Azure Durable Functions 中的最大事件响应数据大小限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59167994/