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.

Ähnliche Artikel