1

我目前正在使用amqp.net lite从我的树莓派向 azure eventthub 发送消息。

我的连接字符串如下所示:amqps://SendMessage:[url 编码键]@[sb 命名空间]

这很好用,但现在我想改用 SAS 令牌。在这种情况下,有效的连接字符串会是什么样子?到目前为止,我尝试的任何方法都没有为我工作。

PS 我没有使用微软的官方 NuGet 包,因为它不适用于单声道

4

2 回答 2

1

amqps://[SharedAccessKeyName]:[url 编码的 SharedAccessKey]@[sb 命名空间]

SharedAccessKeyName 和 SharedAccessKey 是从门户获取的策略名称和令牌。

        string eventhubHostFormat = "amqps://{0}:{1}@{2}.servicebus.windows.net";

        var address = new Address(string.Format(eventhubHostFormat, "your SAS policy name", Uri.EscapeUriString("your SAS key"), "your servicebus name"));
        var eventHubConnection = new Connection(address);
        var eventHubSession = new Session(eventHubConnection);
        var eventHubSender = new SenderLink(eventHubSession, "0" /* partition ID */, "your eventhub name");
于 2015-07-31T19:37:11.733 回答
0

好的,这里描述的机制确实有效。阅读标题为“使用共享访问签名(在 AMQP 级别)”的最后一节。它描述了如何将 SAS 令牌与非常低级的Amqp.NET Lite一起使用。使用Azure SB Lite更简单。它仍然基于 Amqp.NET Lite,但提供了更多抽象。

于 2015-12-18T12:50:00.767 回答