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

Azure ServiceBus REST API接收主题/订阅消息报错求助

使用Azure Service Bus REST API从主题订阅接收消息的示例

关键前提说明

  • 必须使用HTTPS端点而非sb://(sb://是AMQP协议专用,REST API需用https://<your-namespace>.servicebus.windows.net格式)
  • 正确的API版本:目前推荐使用api-version=2021-06-01(稳定版),该版本完全支持订阅消息接收操作

单条消息接收(两种核心模式)

1. Peek-Lock模式(获取并锁定,处理完成后需手动确认/放弃)

  • 请求方法:POST
  • 请求URL:
    https://<your-namespace>.servicebus.windows.net/<topic-name>/subscriptions/<subscription-name>/messages/head?api-version=2021-06-01
    
  • 请求头:
    • Authorization:SAS令牌或Azure AD OAuth2令牌(格式示例:SharedAccessSignature sr=<namespace-url>&sig=<signature>&se=<expiry>&skn=<policy-name>)
    • Content-Type:application/json(部分场景可留空,无需请求体)
  • 响应:返回200 OK,响应体包含消息内容、锁ID、锁过期时间等信息,后续需用锁ID调用完成/放弃接口收尾

2. Receive-and-Delete模式(获取即直接删除消息)

  • 请求方法:POST
  • 请求URL:
    https://<your-namespace>.servicebus.windows.net/<topic-name>/subscriptions/<subscription-name>/messages/delete?api-version=2021-06-01
    
  • 请求头:同Peek-Lock模式
  • 响应:返回200 OK,消息直接从订阅中移除

批量消息接收

1. Peek-Lock模式批量获取

  • 请求方法:POST
  • 请求URL:
    https://<your-namespace>.servicebus.windows.net/<topic-name>/subscriptions/<subscription-name>/messages/head/batch?api-version=2021-06-01&maxMessageCount=10
    
    (maxMessageCount可指定1-100之间的数值,默认值为1)
  • 请求头:同单条模式
  • 响应:返回200 OK,响应体为消息数组

2. Receive-and-Delete模式批量获取

  • 请求方法:POST
  • 请求URL:
    https://<your-namespace>.servicebus.windows.net/<topic-name>/subscriptions/<subscription-name>/messages/delete/batch?api-version=2021-06-01&maxMessageCount=10
    
  • 请求头:同单条模式
  • 响应:返回200 OK,批量删除并返回获取到的消息集合

你的错误原因及修复方案

  1. "提供的api-version无效"

    • 原因:使用了sb://协议的URL,且未在HTTPS请求的查询参数中携带正确版本号
    • 修复:切换到HTTPS端点,并在URL末尾追加?api-version=2021-06-01
  2. "指定的HTTP动词无效"

    • 原因:订阅消息接收的REST接口不支持GET或DELETE方法,必须使用POST
    • 修复:将请求方法改为POST,并使用上述对应场景的正确URL路径

权限要求

需确保你的身份凭证(SAS策略或AD账号)拥有Listen权限(对应Azure角色Azure Service Bus Data Receiver,或SAS策略配置Listen权限)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 02:54:59