0

有没有办法使用 Node.js SDK 中的共享访问签名密钥连接到 Azure 服务总线订阅?我们想使用 SAS Key 从订阅中读取消息。

文档中有一些关于SAS内容,但没有具体内容。

我想不通。

4

2 回答 2

0

回应您的评论:

了解但不创建实例,您将无法对服务总线操作执行任何操作 - 其中包括能够从订阅读取消息吗?

所以理论上你的代码应该是这样的:

var serviceBusConnectionString = "Endpoint=sb://somens.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=mykey";

var retryOperations = new azure.ExponentialRetryPolicyFilter();
var serviceBusService = azure.createServiceBusService(serviceBusConnectionString).withFilter(retryOperations);

serviceBusService.receiveSubscriptionMessage('MyTopic', 'LowMessages', function(error, receivedMessage){
    if(!error){
        // Message received and deleted
        console.log(receivedMessage);
    }
});

更多信息在这里

原文

检查这个以及后续的stackoverflow答案,结合这两个链接应该可以解决吗?

谢谢

于 2017-02-16T10:36:43.367 回答
0

共享访问签名 (SAS) 是服务总线消息传递的主要安全机制。通常,为服务总线发布者创建的 SAS 令牌仅具有特定队列或主题的发送和接收权限。因此,您需要使用连接字符串来连接到 Azure 服务总线命名空间。

此软件包允许您轻松生成共享访问签名:https ://github.com/mitchdenny/shared-access-signature 。

关于如何通过 REST API 使用 SAS 令牌将消息发送到服务总线队列或主题,您可以参考https://docs.microsoft.com/en-us/rest/api/servicebus/send-message-to -队列

有关使用 SAS 的详细信息,请参阅使用服务总线的共享访问签名身份验证

于 2017-02-16T09:17:31.057 回答