c# - 使用 amqp.net lite 对 azure eventhub 进行 SAS token 身份验证

标签 c# azure mono amqp azure-eventhub

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

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

这工作正常,但现在我想改用 SAS token 。 在这种情况下,有效的连接字符串会是什么样子? 到目前为止,我尝试过的任何方法都对我不起作用。

附注我没有使用 Microsoft 的官方 NuGet 包,因为它不适用于单声道

最佳答案

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

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

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

关于c# - 使用 amqp.net lite 对 azure eventhub 进行 SAS token 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31201096/

相关文章:

c# - 从 XML 文档生成 LINQ to XML C# 代码?

node.js - 如何使用 Azure AD 验证 VueJS 应用程序?

c# - 在单声道下运行支持 SSL 的 TCP 服务器的问题

c# - 只有一个 C# 事件处理程序被调用

c# - dblinq 有多成熟?

c# - 如何过滤 ObjectListView 中的多个子项

c# - 将Json反序列化为对象异常

azure - Web API 和 Azure API 应用程序有什么区别?

azure - 当角色停止时,Azure 诊断信息会发生什么情况?

visual-studio - Xamarin.Android:包 XX 与 monoandroid81 不兼容(MonoAndroid,版本=v8.1)