使用事件中心捕获的优势
Advantages of using event hubs capture
总的来说,我对 azure 和 cloud 比较陌生。
我正在查看这个 tutorial 关于如何集成事件中心、事件网格和 azure 函数以将数据流式传输到 SQL 仓库。
我的问题是:
与仅使用 HTTP 触发的 Azure 函数直接处理传入数据相比,首先将数据存储在 blob 存储中有什么优势,从而消除了对事件中心和事件网格的需求?
感谢您花时间阅读我的问题。非常感谢任何帮助:-)
此功能用于备份/重复使用事件数据。
默认情况下(如果没有设置捕获),事件数据将在 7 天(最长保留期)内存储在 eventhub 中。在某些情况下,如果您在 7 天内不处理这些事件,那么事件数据将会丢失。
在这种情况下,如果您配置了捕获功能,您可以随时重复使用这些事件数据,因为它们存储在 blob 存储中。
无论如何,如果你应该enable/disable这个功能,你应该考虑你的需要。
This feature is used to backup / reuse the event data.
我不太同意伊万。 OP本身引用的文章显示了捕获的大量使用,而不是backup/recovery。
如果您想使用 Azure Functions 处理来自事件中心的大量事件(在函数执行时使用 EventHub Trigger for Functions), biggest problem is batching. maxBatchSize
is just a suggestion to Function Runtime, there are too many variables and you may not (read will not) get big enough batches even if you set maxBatchSize
to a big number. Also remember that HTTP triggers have a 230 seconds limit。如果我没记错的话,同样适用于 Blob 触发器(因为 Blob 触发器实现为内部对 Azure 函数的 REST 调用)。
备选方案是使用 OP 发布方式中的捕获。
部分参考资料:
总的来说,我对 azure 和 cloud 比较陌生。
我正在查看这个 tutorial 关于如何集成事件中心、事件网格和 azure 函数以将数据流式传输到 SQL 仓库。
我的问题是:
与仅使用 HTTP 触发的 Azure 函数直接处理传入数据相比,首先将数据存储在 blob 存储中有什么优势,从而消除了对事件中心和事件网格的需求?
感谢您花时间阅读我的问题。非常感谢任何帮助:-)
此功能用于备份/重复使用事件数据。
默认情况下(如果没有设置捕获),事件数据将在 7 天(最长保留期)内存储在 eventhub 中。在某些情况下,如果您在 7 天内不处理这些事件,那么事件数据将会丢失。
在这种情况下,如果您配置了捕获功能,您可以随时重复使用这些事件数据,因为它们存储在 blob 存储中。
无论如何,如果你应该enable/disable这个功能,你应该考虑你的需要。
This feature is used to backup / reuse the event data.
我不太同意伊万。 OP本身引用的文章显示了捕获的大量使用,而不是backup/recovery。
如果您想使用 Azure Functions 处理来自事件中心的大量事件(在函数执行时使用 EventHub Trigger for Functions), biggest problem is batching. maxBatchSize
is just a suggestion to Function Runtime, there are too many variables and you may not (read will not) get big enough batches even if you set maxBatchSize
to a big number. Also remember that HTTP triggers have a 230 seconds limit。如果我没记错的话,同样适用于 Blob 触发器(因为 Blob 触发器实现为内部对 Azure 函数的 REST 调用)。
备选方案是使用 OP 发布方式中的捕获。
部分参考资料: