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

部署在VNET中的Function App无法从Azure Service Bus获取消息如何排查

问题排查方向

1. Service Bus侧网络访问配置排查

  • 确认Service Bus命名空间的网络访问策略:如果配置了公共网络访问限制,需要将Function App的所有出站公网IP、或VNET对应子网加入Service Bus的IP白名单
  • 如果Service Bus配置了专用终结点,确认专用终结点与Function App属于同一VNET或对等VNET,且专用终结点所属子网的NSG没有拦截来自Function App子网的访问流量
  • 检查Function App所在子网是否开启了Microsoft.ServiceBus服务端点(如果采用服务端点模式接入Service Bus而非专用终结点)

2. VNET及出站流量规则排查

  • 确认Function App VNET集成的配置:如果开启了全部路由(WEBSITE_VNET_ROUTE_ALL=1),所有出站流量都会经过VNET,需要检查:
    • 子网NSG的出站规则是否放通了Service Bus的对应端口:AMQP协议需放通5671/5672端口,AMQP Websocket/HTTPS需放通443端口,SBMP协议需放通9354端口
    • 子网关联的用户定义路由(UDR)是否将Service Bus的流量路由到了防火墙、NVA等中间设备,需确认中间设备的规则放通了到Service Bus的访问
  • 如果未开启全部路由,确认Service Bus的公网IP段没有被VNET的默认路由拦截

3. Function App运行时配置排查

  • 尝试修改Service Bus连接字符串,指定传输模式为Websocket,避免AMQP默认端口被拦截:在连接字符串末尾添加TransportType=AmqpWebSockets,强制流量走443端口
  • 检查Function App是否配置了HTTP/HTTPS代理,确认代理规则允许访问Service Bus域名
  • 确认Function App运行时的Service Bus SDK版本无已知兼容性问题,可尝试升级到最新稳定版

4. DNS解析排查

  • 进入Function App的Kudu高级工具,使用nslookup {your-servicebus-namespace}.servicebus.windows.net 命令验证域名解析结果:
    • 如果使用专用终结点接入,解析结果应为Service Bus专用终结点的内网IP
    • 如果解析结果异常,需检查VNET的DNS服务器配置,确认能正确解析Azure服务域名

5. 权限配置补充排查

  • 如果采用托管身份访问Service Bus,确认Function App的系统分配/用户分配托管身份已被分配Azure Service Bus 数据接收方 对应角色,且角色分配范围覆盖目标主题和订阅

内容的提问来源于stack exchange,提问作者venkatesh k

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 18:36:03