Azure Functions - 根据事件类型阻止处理 Azure 服务总线消息

Posted

技术标签:

【中文标题】Azure Functions - 根据事件类型阻止处理 Azure 服务总线消息【英文标题】:Azure Functions - Block processing of Azure Service Bus messages based on event type 【发布时间】:2022-01-05 22:44:10 【问题描述】:

我是 azure 和 .net 框架的新手。我有一个 Azure 函数 (AF),它由 Azure 服务总线消息触发。所以我们必须根据事件类型来处理收到的消息 例如事件类型:com.df.vc2.core.employee.add

如果事件类型与上面不同,则不应处理

这可以在配置级别完成吗?这是如何实现的

【问题讨论】:

【参考方案1】:

您无法使用配置来做到这一点,因为无法设置某种排除列表。但是,您可以使用代码来完成。默认情况下,当函数运行时,它会在成功处理后自动完成消息。这是基于配置设置AutoComplete,如the docs所示。

如果您将其设置为 false,您可以编写代码,以便仅完成您希望在函数中处理的消息。其他消息将保持不变。

如果设置为true,如果函数执行成功,触发器自动完成消息,否则放弃消息。

当设置为 false 时,您负责调用 MessageReceiver 方法来完成、放弃或死信消息。如果抛出异常(并且没有调用任何 MessageReceiver 方法),则锁定仍然存在。一旦锁过期,消息会重新排队,DeliveryCount 递增,锁会自动更新。

【讨论】:

以上是关于Azure Functions - 根据事件类型阻止处理 Azure 服务总线消息的主要内容,如果未能解决你的问题,请参考以下文章

Azure 事件中心 Event Grid(事件网格)+Azure Functions处理IOT Hub中的消息

Azure Functions - 返回类型 HttpResponseMessage 和 IActionResult 之间的区别

Azure Functions 主机实例与 VM 实例

Azure Functions - 限制并行执行

Azure基础:何时使用Azure Functions无服务器计算(11)

Azure Functions ServiceBus 触发器缩放行为