从 POSTMAN nodeJs 向 Azure 服务总线发送消息
Sending message to Azure Service Bus from POSTMAN nodeJs
我一直在尝试从 POSTMAN 向 Azure 服务总线主题发送示例消息,但出现异常错误。我的疑问是,我正在使用 NodeJs 自己的 'Buffer' 而不是 'utf8' 模块生成 SAS 令牌。这会是我得到 'The specified HTTP verb (POST) is not valid.' 的原因吗?这是我生成 SAS 令牌的代码片段。
*function createSharedAccessToken(uri, saName, saKey) {
if (!uri || !saName || !saKey) {
throw "Missing required parameter";
}
console.log('inside the function')
var encoded = encodeURIComponent(uri);
var now = new Date();
var week = 60 * 60 * 24 * 7;
var ttl = Math.round(now.getTime() / 1000) + week;
var signature = encoded + '\n' + ttl;
var signatureUTF8 = Buffer.from(signature, 'utf8');
var hash = crypto.createHmac('sha256', saKey).update(signatureUTF8).digest('base64');
return 'SharedAccessSignature sr=' + encoded + '&sig=' +
encodeURIComponent(hash) + '&se=' + ttl + '&skn=' + saName;
}*
这是一个 POST 调用授权和 Content-Type header。
请在url末尾加上'messages':
http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath|topicPath}/messages
->
https://mynamespace.servicebus.windows.net/my-topic-name/messages
我一直在尝试从 POSTMAN 向 Azure 服务总线主题发送示例消息,但出现异常错误。我的疑问是,我正在使用 NodeJs 自己的 'Buffer' 而不是 'utf8' 模块生成 SAS 令牌。这会是我得到 'The specified HTTP verb (POST) is not valid.' 的原因吗?这是我生成 SAS 令牌的代码片段。
*function createSharedAccessToken(uri, saName, saKey) {
if (!uri || !saName || !saKey) {
throw "Missing required parameter";
}
console.log('inside the function')
var encoded = encodeURIComponent(uri);
var now = new Date();
var week = 60 * 60 * 24 * 7;
var ttl = Math.round(now.getTime() / 1000) + week;
var signature = encoded + '\n' + ttl;
var signatureUTF8 = Buffer.from(signature, 'utf8');
var hash = crypto.createHmac('sha256', saKey).update(signatureUTF8).digest('base64');
return 'SharedAccessSignature sr=' + encoded + '&sig=' +
encodeURIComponent(hash) + '&se=' + ttl + '&skn=' + saName;
}*
这是一个 POST 调用授权和 Content-Type header。
请在url末尾加上'messages':
http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath|topicPath}/messages
-> https://mynamespace.servicebus.windows.net/my-topic-name/messages