Node.js 从自定义API访问服务总线队列
我有一个Azure服务总线队列,我想为REST访问设置它。我将队列本身设置为可访问,并且可以从C命令行客户端向其添加消息。我想为移动应用程序创建一个API列表,以便与我的云解决方案的各个部分进行交互。我的问题是无法从自定义API访问队列。这似乎很直截了当Node.js 从自定义API访问服务总线队列,node.js,api,azure,queue,servicebus,Node.js,Api,Azure,Queue,Servicebus,我有一个Azure服务总线队列,我想为REST访问设置它。我将队列本身设置为可访问,并且可以从C命令行客户端向其添加消息。我想为移动应用程序创建一个API列表,以便与我的云解决方案的各个部分进行交互。我的问题是无法从自定义API访问队列。这似乎很直截了当 exports.get = function(request, response) { var accountName = "myServiceBusNamespace"; var accountKey = "ServiceBusKey
exports.get = function(request, response) {
var accountName = "myServiceBusNamespace";
var accountKey = "ServiceBusKey";
var serviceBusService = azure.createServiceBusService(accountName, accountKey);
serviceBusService.createQueueIfNotExists("mysbqueuename", function (error) {
if (error) {
console.log(error);
}
});
serviceBusService.sendQueueMessage("mysbqueuename", "message", function (error, res) {
if (error) {
console.log(error);
}
});
};
记录的错误是:
{ [Error: getaddrinfo ENOTFOUND] code: 'ENOTFOUND', errno: 'ENOTFOUND', syscall: 'getaddrinfo' }
这表明找到地址有问题。队列是myServiceBusNamespace服务总线的成员,帐户密钥是RootManageSharedAccessKey的密钥。代码在azure中作为自定义Api运行。看起来我使用了错误的凭据/路径/主机,但我不知道如何更正
Stephen根据此处的评论:,您可以尝试指定连接字符串而不是帐户名和密钥吗?这看起来确实有效,但我觉得这不是一个特别优雅的解决方案。这让我暂时摆脱了困境,但我的设置似乎仍然有问题。我认为你的设置没有任何问题。请在此处查看SDK的源代码:。