Azure Event Hubs a Python: AMQP iwwer WebSockets duerch en HTTP-Proxy
Gitt dem Event Hubs säin http_proxy-Wierderbuch mat Hostname an ganzzuelegem Port weider, wärend Dir den WebSocket-AMQP-Transport auswielt.
Fir en Event Hubs-Verbraucher a Python, deen en HTTP-Proxy benotzt, konfiguréiert beim Bau vum Client de Proxy-Wierderbuch vum SDK an den WebSocket-Transport:
from azure.eventhub import EventHubConsumerClient, TransportType
client = EventHubConsumerClient(
fully_qualified_namespace=namespace,
eventhub_name=eventhub_name,
consumer_group='$Default',
credential=credential,
transport_type=TransportType.AmqpOverWebsocket,
http_proxy={
'proxy_hostname': 'proxy.example',
'proxy_port': 8080,
},
)
Den Namespace, den Numm vum Event Hub an d'Credential sinn déi bestehend Déngschtkonfiguratioun vun der Applikatioun. Fuert mat hire Empfanks-Callbacks an dem gewéinlechen Zyklus fir de Client ze schléissen weider.
Dëst Wierderbuch beschreift den Tëschentsteller direkt. Et ass net d'Kaart vun den http/https-Zilschémata, déi Requests acceptéiert. Fir en ëffentlechen Event Hubs-Namespace, wou ëffentlech Tëschentsteller erlaabt sinn, liwwert d'HTTP-Proxy-Lëscht Kandidaten fir d'Felder Hostname a Port ouni Kont. Füügt d'Schlësselen username a password derbäi, wann de virgeséinten Proxy-Kont gebraucht gëtt.
AMQP iwwer WebSockets benotzt de Port 443 vum Déngscht, wärend den normale AMQP-Transport 5671 benotzt. Den Proxy muss awer nach déi entstane Verbindung zum Event Hubs-Namespace erlaben.
Eng Token-Credential kann separat HTTP-Ufroe maachen, wärend si Token kritt. Konfiguréiert hiren ënnerstëtzten Transport no Bedarf, wann dësen Authentifikatiounswee och den Proxy brauch.