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

Azure Service Bus队列通过门户发送JSON消息报错求助

解决Service Bus Explorer发送消息时的TypeError: Cannot read properties of undefined (reading 'createSender')错误

针对你遇到的问题,结合开发环境正常、当前环境报错的情况,可按以下步骤排查解决:

1. 核对连接配置与权限

  • 确认当前环境使用的Service Bus连接字符串完全正确:检查是否存在拼写错误、遗漏字符(比如末尾的分号),建议直接从Azure门户复制最新的连接字符串
  • 验证连接字符串的权限:确保该连接字符串对应的Shared Access Policy拥有Send或更高权限(Manage权限),开发环境的Policy可能权限充足,而当前环境的Policy可能仅配置了Listen权限
  • 检查队列名称的准确性:Service Bus队列名称区分大小写,确认没有空格、拼写错误或名称变更

2. 排查Service Bus Explorer与资源兼容性

  • 确认Service Bus Explorer版本:旧版本可能不兼容当前环境的Service Bus层级(如高级层),建议更新到最新版本后重试
  • 重启Service Bus Explorer并清除缓存:有时连接会话异常会导致客户端对象未正确初始化,重启后重新建立连接

3. 检查目标Service Bus资源状态

  • 在Azure门户查看目标Service Bus命名空间的运行状态:确认没有停机、限流或资源异常
  • 验证目标队列是否存在:检查是否被误删除或重命名
  • 查看队列配额:确认队列的消息数、存储大小未达到上限,配额满会导致无法发送新消息

4. 排查网络与防火墙限制

  • 测试网络连通性:用telnet <sb-namespace>.servicebus.windows.net 5671或curl https://<sb-namespace>.servicebus.windows.net/验证当前机器能否访问目标Service Bus端点
  • 检查防火墙规则:确认目标Service Bus的防火墙允许当前机器的IP地址访问,开发环境可能未配置严格防火墙,而当前环境有IP限制
  • 排查代理/VPN:确认没有代理或VPN拦截了Service Bus的请求

5. 简化场景验证

  • 先发送极简JSON消息(如{"test":"1"}),排除消息格式的隐藏问题(你提供的消息格式本身是合法的,但可排除特殊字符或换行的影响)
  • 用Azure CLI测试发送:执行以下命令验证是否是Service Bus Explorer本身的问题
    az servicebus message send --resource-group <你的资源组名> --namespace-name <你的SB命名空间> --queue-name <队列名> --body '{"test":"1"}'
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 14:27:39