问题描述
一般来说,我对天青和云还是比较陌生的。
我正在研究如何tutorial集成事件中心,事件网格和天蓝色函数以将数据流式传输到SQL仓库中。
我的问题是:
首先将数据存储在Blob存储中有什么好处,而不是仅使用HTTP触发的Azure函数直接处理传入数据,从而消除了对事件中心和事件网格的需要?
感谢您抽出宝贵时间阅读我的问题。任何帮助,我们将不胜感激:-)
解决方法
此功能用于备份/重复使用事件数据。
我不太同意伊万。 OP自己引用的文章显示了捕获的大量使用,而不是备份/恢复。
如果要使用Azure Functions(使用EventHub Trigger for Functions)从事件中心处理大量事件,则最大的问题是批处理。 maxBatchSize
只是对函数运行时的建议,变量太多,即使将maxBatchSize
设置为一个大数字,也可能(读取不会)获得足够大的批次。还要记住,HTTP triggers have a 230 seconds limit是关于函数执行时间的。如果我没记错的话,同样适用于Blob触发器(因为Blob触发器是作为内部对Azure Function的REST调用实现的。)
替代方式是使用OP发布方式进行使用捕获。
一些参考文献:
- https://stackoverflow.com/a/64582394/496289
- DIY而不使用功能:https://docs.microsoft.com/en-us/azure/event-hubs/event-processor-balance-partition-load
此功能用于备份/重复使用事件数据。
默认情况下(如果未设置捕获),事件数据将在7天(最大保留期限)中存储在eventhub中。在某些情况下,如果您在7天内不处理这些事件,则事件数据将丢失。
在这种情况下,如果已配置捕获功能,则由于这些事件数据存储在Blob存储中,因此始终可以重复使用。
无论如何,如果应该启用/禁用此功能,则应考虑自己的需要。