如何获取Microsoft Azure ServiceBus REST API的最新版本?通过REST API获取Azure ServiceBus消息时如何正确指定api-version并获取锁令牌?
Azure Service Bus REST API 消息获取与锁令牌相关问题解答
1. 最新API版本及锁令牌获取
目前Azure Service Bus REST API的最新稳定版本是2021-11-01,你可以直接在请求参数中指定这个版本:
https://<namespace>.servicebus.windows.net/<queue-name>/messages/head?api-version=2021-11-01&timeout=60
使用这个版本时,Peek-Lock模式下的响应头会包含broker-lock-token字段,直接提取这个值就能用于后续的消息删除操作。
2. 旧版本(2015-01)获取锁令牌的方案
如果不得不使用2015-01这个旧版本,需要注意/messages/head是Peek操作——它只会查看消息而不会锁定,所以自然不会返回锁令牌。你需要改用Peek-Lock模式的接收接口:
- 调用
POST https://<namespace>.servicebus.windows.net/<queue-name>/messages/lock?api-version=2015-01&timeout=60,这个接口会锁定消息并返回它。 - 响应的
Authorization头中会包含锁令牌,格式类似:
你需要提取SharedAccessSignature sr=...&sig=...&se=...&skn=...&lk=<<LOCK-TOKEN>>lk=后面的字符串作为锁令牌。 - 删除锁定消息时,使用
DELETE https://<namespace>.servicebus.windows.net/<queue-name>/messages/<LOCK-TOKEN>?api-version=2015-01,将提取到的锁令牌替换到路径中即可。
3. 查找最新REST API文档的方式
你可以在Microsoft Learn的Azure官方文档中找到最新的Service Bus REST API参考,直接搜索"Azure Service Bus REST API"就能定位到对应的板块,里面会列出所有支持的API版本、每个操作的详细规范,包括请求参数、响应头、示例等内容。
内容的提问来源于stack exchange,提问作者user19238067
相关产品推荐
相关产品推荐

