1
ServiceBusConfiguration.configureWithSASAuthentication(config.getSbNamespace(), "RootManageSharedAccessKey", SAS_KEY, ".servicebus.windows.net");
ServiceBusContract service = ServiceBusService.create();
service.getTopic(topicID);

此代码片段用于使用 SAS 密钥连接到服务总线。我正在寻找与 SAS 令牌连接的可能性,如下所示:

SharedAccessSignature sr=https%3a%2f%2fmynamespace.servicebus.windows.net%2fMyTestQueue&sig=fFWmdMmWjsdTqPyhyvRS9LQqLjJNPc87xhInhYai9OM%3d&se=1453286209&skn=MyQueue_Listen

我收到 401 Unauthorized 使用此代码。我不可能回到 SAS 密钥。Azure SDK for Java 是否支持此功能?有不同的连接方式吗?

4

2 回答 2

1

听起来您想使用 Azure Service Bus SDK for Java 执行类似通过主题 ID 获取主题的操作,但您不知道如何将共享访问密钥传递给方法configureWithSASAuthentication

我建议您需要仔细阅读官方教程如何使用服务总线主题和订阅,以了解如何获取服务总线实例的共享访问密钥并通过 SDK 使用它。

在此处输入图像描述

SharedAccessSignature sr=https%3a%2f%2fmynamespace.servicebus.windows.net%2fMyTestQueue&sig=fFWmdMmWjsdTqPyhyvRS9LQqLjJNPc87xhInhYai9OM%3d&se=1453286209&skn=MyQueue_Listen您正在寻找的是调用相关的 REST API,而不是直接在 SDK 的代码中使用。

希望能帮助到你。

于 2017-07-28T08:36:09.757 回答
1

".servicebus.windows.net"看起来有点不对劲(一开始的.)。

仅供参考:有一个带有问题跟踪器的 ASB Java 客户端存储库。你也可以在那里检查。

于 2017-07-26T16:18:55.550 回答