Azure Event Hubs mit Python: AMQP über WebSockets durch einen HTTP-Proxy
Übergeben Sie das http_proxy-Wörterbuch von Event Hubs mit Hostname und ganzzahligem Port und wählen Sie dabei den WebSocket-AMQP-Transport.
Für einen Event Hubs-Consumer in Python, der einen HTTP-Proxy verwendet, konfigurieren Sie beim Erstellen des Clients das Proxy-Wörterbuch des SDK und 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,
},
)
Namespace, Event-Hub-Name und Anmeldeinformationen sind die bestehende Dienstkonfiguration der Anwendung. Fahren Sie mit ihren Empfangs-Callbacks und dem üblichen Lebenszyklus zum Schließen des Clients fort.
Dieses Wörterbuch beschreibt den Vermittler unmittelbar. Es ist nicht die von Requests akzeptierte Zuordnung von http/https-Zielschemata. Für einen öffentlichen Event Hubs-Namespace, in dem öffentliche Vermittler zulässig sind, liefert die HTTP-Proxy-Liste Kandidaten für die Felder Hostname und Port ohne Konto. Fügen Sie die Schlüssel username und password hinzu, wenn das vorgesehene Proxy-Konto erforderlich ist.
AMQP über WebSockets nutzt Port 443 des Dienstes, während der gewöhnliche AMQP-Transport 5671 verwendet. Der Proxy muss die daraus entstehende Verbindung zum Event Hubs-Namespace weiterhin zulassen.
Eine Token-Anmeldeinformation kann beim Abrufen von Token separate HTTP-Anfragen ausführen. Konfigurieren Sie deren unterstützten Transport nach Bedarf, wenn dieser Authentifizierungspfad ebenfalls den Proxy benötigt.