Кажется, что в документации не хватает информации о том, как подключиться с помощью HTTPS (Amqp через WebSockets), но после некоторой помощи Шона Фельдмана в принятом ответе мне удалось подключиться.Вот код, который я использовал, если кто-то заинтересован:
var tokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider(
"RootManageSharedAccessKey", // SharedAccessKeyName
"SomeToken");
var sender = new MessageSender(
"sb://mydomain.servicebus.windows.net/",
"topicName",
tokenProvider,
TransportType.AmqpWebSockets);
Или вариант, который позволяет вам иметь всю строку подключения в один кусок
var builder = new ServiceBusConnectionStringBuilder("YouConnectionString");
var tokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider(
builder.SasKeyName,
builder.SasKey);
var sender = new MessageSender(
builder.Endpoint,
"TopicName",
tokenProvider,
TransportType.AmqpWebSockets);
Это на самом деле можно использоватьConnectionString напрямую, но затем он должен быть расширен для использования правильного протокола.
var sender = new MessageSender("TransportType=AmqpWebSockets;Endpoint=...", "TopicName")
Или версия, позволяющая встроить EntityPath в ConnectionString
var connectionBuilder = new ServiceBusConnectionStringBuilder("EntityPath=MyTopic;TransportType=AmqpWebSockets;Endpoint=...")
var sender = new MessageSender(connectionBuilder);