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 之间的区别