1

一般来说,我对天蓝色和云比较陌生。

我正在查看有关如何集成事件中心、事件网格和天蓝色函数以将数据流式传输到 SQL 仓库的教程。

我的问题是:

首先将数据存储在 blob 存储中,而不是直接使用 HTTP 触发的 Azure 函数处理传入数据,从而消除对事件中心和事件网格的需要,有什么优势?

感谢您花时间阅读我的问题。任何帮助是极大的赞赏 :-)

4

2 回答 2

1

此功能用于备份/重用事件数据。

默认情况下(如果未设置捕获),事件数据将在 7 天(最长保留期)存储在 eventthub 中。在某些情况下,如果您在 7 天内未处理这些事件,则事件数据将会丢失。

在这种情况下,如果您已配置捕获功能,则始终可以重用这些事件数据,因为它们存储在 blob 存储中。

无论如何,如果您应该启用/禁用此功能,您应该考虑您的需求。

于 2020-10-14T09:33:45.323 回答
1

此功能用于备份/重用事件数据。

我不太同意伊万的观点。OP 本身引用的文章显示了不是备份/恢复的捕获的大量使用。

如果您想使用 Azure Functions 处理来自事件中心的大量事件(使用EventHub Trigger for Functions),最大的问题是批处理。maxBatchSize只是对函数运行时的一个建议,变量太多,即使你设置maxBatchSize一个很大的数字,你也可能不会(读取不会)获得足够大的批次。另请记住, HTTP 触发器对函数执行时间有 230 秒的限制。如果我没记错的话,同样适用于 Blob 触发器(因为 Blob 触发器在内部实现为对 Azure Function 的 REST 调用)。

替代方法是以 OP 发布的方式使用捕获。

一些参考资料:

于 2020-10-28T23:01:11.223 回答