我可以更改启动检查点的Azure功能事件中心触发器吗?

时间:2017-11-29 17:46:18

标签: azure-functions azure-eventhub

当我站起来一个新的Azure功能来监听我们的事件中心时,通过一个新的消费者群体,它可以获得所有已经发送到事件中心的消息,甚至是几个月以前的某种情况。我认为将集线器上的邮件保留设置为一天会限制,但显然不是。无论如何,我真的只希望新的Azure功能从初始部署或测试点开始接收事件,但是我不知道如何指定初始启动检查点,因为这些东西在AF存储中神奇地完成。

如果我手动执行集线器逻辑,我可以指定此检查点并从任意时间开始,例如当前时间。有没有办法用Azure函数复制它?

1 个答案:

答案 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,没有简单而官方的方法来实现这一目标。