将 Azure 函数部署槽与 EventHub 结合使用

Using Azure Function Deployment Slots with EventHub

我有一个 Azure 函数应用程序可以处理来自 EventHub 的数据。我当前的 CI/CD 进程使用部署槽来部署:

  1. 将函数部署到暂存槽
  2. 通过冒烟测试验证暂存槽
  3. 与生产交换分期

CI/CD 流程本身没有问题。但是,在我的暂存槽处于活动状态期间,由于有两个活动功能应用程序,我实际上是在对 EventHub 之外的消息进行双重处理。

对于这样的集成应用,处理 CI/CD 的最佳做法是什么?有没有办法在函数绑定中使用 EventHub 将事件固定到某个插槽?也许这是不可避免的,加倍幂等性是解决方案?

您可以利用插槽粘性应用程序设置来定义要使用的消费者组,这些消费者组将在 swap 期间应用。

请确保您使用的是将消费者组 属性 设置为应用设置参考。

使用这种方法,您可以为冒烟测试和交换使用一个单独的消费者组,将使用生产消费者组。