我想监视一些来自应用程序的事件。
一种选择是将数据发送到Azure Event Hub并使用流分析进行一些后处理,然后将数据输入到cosmos db中。
另一种选择是从应用程序存储到cosmos db,并运行定期的Azure函数进行处理并将其存储回去。
正确的方法是什么?有更好的方法吗?
答案 0 :(得分:0)
最好的架构方法是将事件中心带到Cosmos DB。我已经使用Application -> EventHub -> ChangeFeed Azure Function -> Cosmosdb
您可以阅读有关Here
的信息。
答案 1 :(得分:0)
在这种情况下,Azure Cosmos DB开箱即用提供ChangeFeed。它可作为Cosmos DB更改的触发器。
答案 2 :(得分:0)
这取决于您要对所接收事件进行的处理类型。如果一次处理是事件,则具有CosmosDB changefeed处理器的简单Azure函数可能就足够了。如果您想执行windowing或event order based computation之类的有状态处理,则Azure流分析会更好。 Stream Analytics还提供与PowerBI仪表板的本机集成。同一作业可以将数据发送到CosmosDB和PowerBI。如果要使用Azure流分析,则必须使用EventHub进行事件提取。使用EventHub进行接收还具有其他好处,例如能够archive events进行Blob存储。