Azure Event Hubs med Python: AMQP over WebSockets gjennom en HTTP-proxy
Send Event Hubs-ordboken http_proxy med vertsnavn og heltallsport mens du velger WebSocket AMQP-transporten.
For en Event Hubs-forbruker i Python som bruker en HTTP-proxy, konfigurer SDK-ens proxyordbok og WebSocket-transporten når klienten bygges:
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,
},
)
Navnerommet, Event Hub-navnet og legitimasjonen er applikasjonens eksisterende tjenestekonfigurasjon. Fortsett med mottakstilbakekallene og den vanlige livssyklusen for lukking av klienten.
Denne ordboken beskriver mellomleddet direkte. Den er ikke http/https-målskjemakartet som Requests godtar. For et offentlig Event Hubs-navnerom der offentlige mellomledd er tillatt, leverer HTTP-proxy-listen kandidater for feltene vertsnavn og port uten konto. Legg til nøklene username og password hvis den tiltenkte proxykontoen kreves.
AMQP over WebSockets bruker tjenestens port 443, mens den vanlige AMQP-transporten bruker 5671. Proxyen må fortsatt tillate den resulterende forbindelsen til Event Hubs-navnerommet.
En token-legitimasjon kan gjøre separate HTTP-forespørsler mens den henter tokens. Konfigurer transporten den støtter etter behov når denne autentiseringsveien også trenger proxyen.