You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Function无法并行监听两个Service Bus订阅的问题咨询

可能遗漏的配置检查要点

1. Service Bus 主题与订阅配置检查

  • 确认你创建的subscription2绑定在正确的Service Bus Topic下,没有绑定错主题导致消息发送到其他主题找不到对应订阅
  • 检查subscription2的消息过滤规则:如果默认规则被删除、或是添加了自定义过滤规则,匹配失败的消息会被直接丢弃,不会进入订阅
  • 确认你发送的测试消息确实投递到该订阅绑定的Topic,且没有过期、没有被异常拦截

2. Azure Function 触发器配置检查

  • 检查Function触发器注解/绑定配置里的Topic名称是否正确:你仅修改了订阅名,很可能漏改Topic名称,如果订阅B挂载在其他Topic下,沿用订阅A的Topic名自然无法监听到消息
  • 本地调试场景下检查local.settings.json中的AzureWebJobsServiceBus连接字符串:确认有权限访问目标Service Bus命名空间,没有写错命名空间、密钥等参数
  • 如果已经部署到Azure云端,要确认Function应用配置中已经同步更新了subscription_name和对应连接字符串,部署操作不会自动同步本地local.settings.json的配置项

3. 消费模式与冲突检查

  • 确认subscription2没有被其他应用程序消费:如果有其他服务已经在监听该订阅,消息会被其他服务拉取,你的Function自然收不到消息
  • 检查订阅是否开启了会话(Session)功能:如果订阅开启了会话,但Function触发器没有添加isSessionsEnabled = true配置,触发器无法正常连接到订阅
  • 查看Service Bus控制台的订阅消息计数:确认是否有未消费的消息堆积,消息如果直接进入死信队列,监听正常队列的触发器是无法接收的

4. 权限配置检查

  • 确认你使用的Service Bus连接字符串的SAS密钥至少拥有**监听(Listen)**权限,如果你使用的是仅含发送权限的密钥,无法拉取订阅消息
  • 如果使用托管身份认证,要确认Function的托管身份已经被分配了Azure Service Bus 数据接收者角色,且权限范围覆盖目标Topic和订阅

内容的提问来源于stack exchange,提问作者joydeep roy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 19:18:03