使用az rest向Service Bus队列发消息时遇Azure AD令牌错误求助
解决az rest调用Service Bus发送消息的资源指定问题
错误原因
az rest无法从Service Bus的URL自动识别对应的Azure AD资源范围,必须手动指定--resource参数明确要获取令牌的目标资源。
正确命令
Service Bus对应的Azure AD资源标识符为https://servicebus.azure.net/,将其加入命令即可修复:
requestUri="https://${serviceBusNamespace}.servicebus.windows.net/${queueName}/messages" az rest --method post --uri "$requestUri" --body "$messagePayload" --resource "https://servicebus.azure.net/"
补充说明
- 确保当前登录的Azure账号拥有Service Bus队列的发送消息权限(例如
Azure Service Bus Data Sender角色) - 若使用中国区Azure环境,资源标识符需替换为
https://servicebus.azure.cn/
内容的提问来源于stack exchange,提问作者Agyss
相关产品推荐
相关产品推荐

