2017-09-13 72 views
0

我有一个使用Azure函数应用程序实现的EventHub触发器。我的业务逻辑实现在该函数中是错误的,必须纠正它。我已经更正了函数应用程序上的实现,如何将检查点更改为该Azure函数以返回24小时并使流数据可用于函数应用程序?如何使用Azure EventHub触发函数返回检查点?

回答

1

当我需要从头开始处理集线器中的事件时,我去了Blob存储 - >azure-webjobs-hosts容器,并删除了像yournamespace.servicebus.windows.net/yourhub/$Default/X这样的名称的blob。这些blob存储当前的检查点,所以如果您重新启动功能应用程序,它将从第一个事件开始处理。

我知道这很不方便,但适用于这种基本情况。也许有人会建议一个更好的方法。

+0

感谢您指引我走向检查站位置。我在consumergroup文件夹中看到两个文件。到目前为止,我只看到一个我注册过的功能消费者。我的功能是否可能已经注册了两个用户的单一功能? – Kannaiyan

+0

无法删除文件,它说文件是租用的。即使打破租约,租赁仍然存在,无法删除这些消费者组下的文件。 – Kannaiyan

+0

@Kannaiyan事件中心默认有两个分区。尝试停止功能应用程序,然后删除文件。 – Mikhail

1

问题仍然是,您可能不知道24小时前每个分区上使用的序列号,否则,Mikhail的建议可能与修改后的步骤一起进入每个blob并编辑序列号而不是删除所有blob条目。

您应该从头开始。以下是步骤:

  1. 转到EventHub门户。
  2. 创建一个新的消费群体,例如其命名为 “组B”
  3. 编辑您的function.json并添加以下项触发部分,

“consumerGroup”: “组B”

  • 保存你的改变。
  • 您应该看到您的函数将从GroupB消费者组的最开始处理事件。

    +0

    进行跟踪感谢Ling。米哈伊尔答案似乎是最好的方法,而不会将触发器更改为不同的消费群体。 – Kannaiyan