Azure Event Hubs i Python: AMQP over WebSockets gennem en HTTP-proxy
Send Event Hubs-ordbogen http_proxy med værtsnavn og heltalsport, mens du vælger WebSocket AMQP-transporten.
For en Event Hubs-forbruger i Python, der bruger en HTTP-proxy, skal du konfigurere SDK'ets proxy-ordbog og WebSocket-transporten, når klienten oprettes:
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-navn og credential er applikationens eksisterende tjenestekonfiguration. Fortsæt med dens modtagelses-callbacks og den sædvanlige livscyklus for lukning af klienten.
Denne ordbog beskriver mellemleddet direkte. Det er ikke det http/https-destinationsskemakort, som Requests accepterer. For et offentligt Event Hubs-namespace, hvor offentlige mellemled er tilladte, leverer HTTP-proxy-listen kandidater til felterne for værtsnavn og port uden konto. Tilføj nøglerne username og password, hvis den påtænkte proxykonto kræves.
AMQP over WebSockets bruger tjenestens port 443, mens den almindelige AMQP-transport bruger 5671. Proxyen skal stadig tillade den resulterende forbindelse til Event Hubs-namespacet.
En token-credential kan foretage separate HTTP-anmodninger, mens den henter tokens. Konfigurer dens understøttede transport efter behov, når denne godkendelsesvej også har brug for proxyen.