Есть 2 способа обойти это.Клиент Azure Event Hubs по умолчанию настроен на общение со службой с использованием открытого стандарта AMQP .
Назначенный порт IANA
для защищенной версии протокола AMQP
aka AMQPS
равен 5671
.Итак, здесь идет первый вариант:
- Вам нужно будет работать с вашим администратором, чтобы разрешить трафик на порт
5671
и отказаться от аутентификации username-password (aka BASIC) для этого трафика.Это сложный вариант, но он должен быть технически возможен.
Второй вариант, и, пожалуй, самый практичный - в вашем случае:
- настроить библиотеку Event Hubs наговорить
AMQP
более WebSockets
.При создании EventHubClient
установите для свойства TransportType
для ConnectionStringBuilder
значение AMQP_WEB_SOCKETS
.Это позволит вам говорить по стандартному порту HTTPS, с которым настроены все прокси-серверы - который использует WebSockets
.Если вы настраиваете proxySettings
на уровне процесса Java, библиотека уже понимает это.Я попытался задокументировать подробные инструкции здесь .
Теперь единственное ограничение, которое вы столкнетесь с этим подходом, заключается в том, что - apache-nifi
использует и более старую версию клиента EventHubs (0.14.x), whereas, you will need
1.2.0 to be able to use the
WebSockets over proxy`.
В этих двух версиях произошли существенные изменения - , которые мы здесь описали - которые должны помочь вам с миграцией. Удачного кодирования!
подробнее о концентраторах событий ...