0

我正在研究捕获和存储系统事件的技术(以期将来可能实现一些“事件溯源”系统)。

我对 Azure 事件中心很感兴趣,因为我喜欢在 Azure Functions & Logic Apps 中构建处理服务并让它们由引发的事件触发。

我创建了客户事件中心并启用了“捕获”,因此我的事件和有效负载存储在 Azure Blob 存储(.avro 文件)中

我想知道如何,或者甚至是否能够查询事件,所以说我有一个流捕获我所有的“客户”交互,例如 Register/Update_Contact_Address 等.....并且我想搜索所有特定客户 ID 的事件,这是如何实现的?我见过流分析工作,但这些似乎是用于“实时数据分析”,而不是我能够使用来自应用程序的参数进行查询,比如我的客户 Guid。

我希望创建一个小型管理应用程序,允许我选择一个客户,并收集为该 ID 捕获的所有客户事件?

以下是我存储的示例事件(从 .avro 文件中提取)

{
    "EventId": "51e3610f-8520-406d-8736-45f382bc5110",
    "EventName": "ReceiveCustomerReview",
    "ReceivedAt": "0001-01-01T00:00:00",
    "Client": 1,
    "customerGuid": "x45y57x2-5dcc-45c4-86c5-78942db363w1"
    "Payload": {
        "stars": 5,
        "comment": "OMG..... Beautiful product",
        "ClientId": 1
    }
}
4

1 回答 1

0

流分析具有一项新功能,您可以通过该功能按您选择的任何属性或字段将输出分区到 Blob 存储。那,用简单的 SQL 查询将使它非常简单。

于 2018-10-18T14:09:58.943 回答