当我站起来一个新的Azure功能来监听我们的事件中心时,通过一个新的消费者群体,它可以获得所有已经发送到事件中心的消息,甚至是几个月以前的某种情况。我认为将集线器上的邮件保留设置为一天会限制,但显然不是。无论如何,我真的只希望新的Azure功能从初始部署或测试点开始接收事件,但是我不知道如何指定初始启动检查点,因为这些东西在AF存储中神奇地完成。
如果我手动执行集线器逻辑,我可以指定此检查点并从任意时间开始,例如当前时间。有没有办法用Azure函数复制它?
答案 0 :(得分:1)
好消息是,您可以更改检查点。那里没有多少魔力:检查点存储在Blob存储中 - >名为azure-webjobs-eventhubs
的blob中的yournamespace.servicebus.windows.net/yourhub/$Default/X
容器,其中$Default
是使用者组名称,X
是分区号。
以下是此类blob的示例:
{"PartitionId":"0","Owner":null,"Token":null,"Epoch":567,"Offset":"14992",
"SequenceNumber":156}
坏消息是你需要知道你想要开始的那一刻的偏移量,而你可能不知道它。然后,您需要继续手动或使用自定义代码修改blob。你应该在功能应用程序启动之前这样做。
由您决定是否可以/想要这样做。 AFAIK,没有简单而官方的方法来实现这一目标。