SAS令牌使用amqp.net lite验证azure eventhub

时间:2015-07-03 07:31:50

标签: c# azure mono amqp azure-eventhub

我目前正在使用带有mono的amqp.net lite来向我的覆盆子pi发送消息给azure eventhub。

我的连接字符串如下所示: amqps:// SendMessage:[url encoded key] @ [sb namespace]

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

P.S。我没有使用Microsoft的官方NuGet包,因为它不能用于单声道

1 个答案:

答案 0 :(得分:1)

amqps://[SharedAccessKeyName]:[url encoded SharedAccessKey]@[sb namespace]

SharedAccessKeyName and SharedAccessKey is policy name and token that these get from portal.

        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");