我有以下情况:
- 事件中心 (EH1) 配置为 7 天的保留政策。
- 制作人将事件发布到 EH1。
- 来自 EH1 的事件从流分析 (SA)(在 1 小时时间窗口内执行某些计算后)路由到服务总线,服务总线获取原始事件(作为消息)以及汇总计算。
- 假设在第一天的 24 小时内,制作者向 EH1 发布了 100 万个事件。
- SA 启动并将原始事件以及汇总计算(超过 1 小时的时间段)传送至服务总线。
- 假设在第 1 天之后,接下来的 15 天内没有任何事件推送到 EH1。
问题:
- 100 万个原始事件(从第 1 天开始)将在 EH1 中保留多长时间?
- 这 100 万个原始事件(从第 1 天开始)在第 2 天(第 1 小时后)到第 7 天(因为保留政策为 7)是否仍然存在?或者,当 SA 处理完所有这些事件后,它们会在第一天后消失吗?如果两者都不是,还会发生什么?
- 我应该在 EH1 中查看哪些指标来证明 (1) 和 (2) 的答案是什么?
最佳答案
首先,您应该看一下 consumer group首先。
简而言之,当消费者(如用于从 eventhub 接收事件的任何应用程序或代码)读取事件时,它必须通过消费者组(我们在此将其命名为 cg_1
)读取事件 -> 然后进行下一个时间,您从 cg_1
读取事件同样,事件(您已经阅读过的)将不会再次阅读。
但是如果你切换到另一个消费者组(比如你新创建了一个名为 cg_2
的消费者组),你可以再次读取所有数据(即使数据已经从 cg_1
读取)。
对于你的问题:
#1: 由于您配置了 7 天的保留策略,因此事件(原始数据)将在 eventhub 中保留 7 天。如果事件已通过消费者组接收,则您无法通过该消费者组再次接收事件。但你可以使用另一个消费者组来再次接收数据。 #2: 与问题 1 类似,原始事件将根据您配置的保留天数存储在 eventhub 中。#没有这样的指标,但是您可以轻松编写客户端代码,并创建一个新的消费者组,然后读取数据以检查它是否存在。
关于azure - 流分析是否有效并将它们路由到服务总线后,事件中心中的事件会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63781831/