2015-07-03 6 views
1

Я в настоящее время использую amqp.net lite с моно для отправки сообщений в azure eventhub из моего малинового пи.SAS Token auth for azure eventhub с amqp.net lite

Моя строка подключения выглядит следующим образом: amqps: // SendMessage: [URL закодированный ключ] @ [С.Б. имен]

Это прекрасно работает, но теперь я хочу, чтобы использовать SAS лексем вместо. Какова будет действительная строка подключения в этом случае? Ничто из того, что я пробовал, до сих пор работало на меня.

P.S. Я не использую официальный NuGet пакет от Microsoft, потому что он не работает на моно

ответ

0

Хорошо описан механизм here. Прочтите последний раздел под заголовком «Использование подписи общего доступа (на уровне AMQP)». Он описывает, как использовать маркеры SAS с Amqp.NET Lite, который является довольно низким уровнем. Используйте Azure SB Lite для большей простоты. Он по-прежнему основан на Amqp.NET Lite, но предлагает больше абстракции.

1

amqps: // [SharedAccessKeyName]: [URL закодирован SharedAccessKey] @ [С.Б. пространства имен]

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

Спасибо, но, как я уже сказал, мне нужно использовать маркеры SAS, а не ключ SAS, есть разница – Helikaon

+0

OH. Извините, меня поняли сейчас. –

+0

Мы можем создать токен SAS, но ... Что я могу использовать для ресурсаURI для токена SAS? Как использовать токен SAS? Я пробовал много шаблонов. Но я не добился успеха .. –