Azure Event Hubs in Python: AMQP over WebSockets via een HTTP-proxy
Geef het http_proxy-woordenboek van Event Hubs door met hostnaam en geheel poortnummer en kies daarbij het WebSocket AMQP-transport.
Voor een Event Hubs-consument in Python die een HTTP-proxy gebruikt, configureert u bij het bouwen van de client het proxywoordenboek van de SDK en het 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,
},
)
De naamruimte, de Event Hub-naam en de referentie zijn de bestaande serviceconfiguratie van de toepassing. Ga verder met de ontvangst-callbacks en de gebruikelijke levenscyclus voor het sluiten van de client.
Dit woordenboek beschrijft de tussenpersoon rechtstreeks. Het is niet de http/https-bestemmingsschemakaart die Requests accepteert. Voor een openbare Event Hubs-naamruimte waar openbare tussenpersonen zijn toegestaan, levert de HTTP-proxylijst kandidaten voor de velden hostnaam en poort zonder account. Voeg de sleutels username en password toe als het beoogde proxyaccount vereist is.
AMQP over WebSockets gebruikt poort 443 van de service, terwijl het gewone AMQP-transport 5671 gebruikt. De proxy moet de resulterende verbinding naar de Event Hubs-naamruimte nog steeds toestaan.
Een tokenreferentie kan aparte HTTP-verzoeken doen terwijl er tokens worden opgehaald. Configureer het ondersteunde transport naar behoefte wanneer dat authenticatiepad ook de proxy nodig heeft.