将消息发布到我使用CURL在Azure服务总线中创建的队列时看到授权失败
命令: curl -v -X POST -H'授权:SharedAccessSignature sig = 58ecf57a25352fb4506f6a934bace10eeac4dae8eaf578093b8161af949b7ef4&se = 1543536196&skn = test&sr = https%3A%2F%2Fndasnsnd.servicebus.windows-net.Type。 .yml'https://ndasns.servicebus.windows.net/asbqueue/messages -d'[{“ body”:“ m1”}]'
namesapce名称:ndasns 队列名称:asbqueue
我用过 https://www.freeformatter.com/hmac-generator.html#ad-output 使用密钥,资源uri和令牌到期时间创建我的资源uri的签名。下面捕获了我提供的输入。
https://ndasns.servicebus.windows.net/+“ \ n” +1543536196
我选择了令牌的到期时间为2018年11月30日
我为队列创建了一个名为test的新共享访问策略,该策略具有所有三个功能:发送,接收,管理规则。
CURL命令的输出如下所示: HTTP / 1.1 401 40103:无效的授权令牌签名
我跟随下面的链接来构建我的sendMessage https://docs.microsoft.com/en-us/rest/api/servicebus/send-message-batch 及以下链接以创建SAS令牌 https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-sas
有什么办法可以进一步调试此错误?
答案 0 :(得分:0)
将 Authorization 标头的sr
参数(命名空间)的内容更改为 ndasns ,而不是 https%3A%2F%2Fndasns .servicebus.windows.net%2Fasbqueue 可能会解决此问题。
希望有帮助!