Azure Event Hubs in Python: AMQP su WebSockets tramite un proxy HTTP
Passa il dizionario http_proxy di Event Hubs con nome host e porta intera mentre selezioni il trasporto WebSocket AMQP.
Per un consumer di Event Hubs in Python che usa un proxy HTTP, configura il dizionario del proxy dell'SDK e il trasporto WebSocket quando costruisci il client:
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,
},
)
Lo spazio dei nomi, il nome dell'Event Hub e la credenziale sono la configurazione del servizio già presente nell'applicazione. Prosegui con le sue callback di ricezione e il normale ciclo di vita di chiusura del client.
Questo dizionario descrive direttamente l'intermediario. Non è la mappa degli schemi di destinazione http/https accettata da Requests. Per uno spazio dei nomi Event Hubs pubblico in cui gli intermediari pubblici sono consentiti, la lista di proxy HTTP fornisce candidati per i campi nome host e porta senza account. Aggiungi le chiavi username e password se è richiesto l'account proxy previsto.
AMQP su WebSockets usa la porta 443 del servizio, mentre il trasporto AMQP ordinario usa la 5671. Il proxy deve comunque consentire la connessione risultante verso lo spazio dei nomi Event Hubs.
Una credenziale token può effettuare richieste HTTP separate mentre ottiene i token. Configura il trasporto supportato secondo necessità quando anche questo percorso di autenticazione richiede il proxy.