Azure Event Hubs на Python: AMQP праз WebSockets цераз HTTP-проксі
Перадайце слоўнік http_proxy для Event Hubs з імем хаста і цэлалікавым портам, адначасова выбіраючы транспарт WebSocket AMQP.
Для спажыўца Event Hubs на Python, які выкарыстоўвае HTTP-проксі, наладзьце слоўнік проксі SDK і транспарт WebSocket пры стварэнні кліента:
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,
},
)
Прастора імёнаў, імя Event Hub і ўліковыя даныя — гэта ўжо існуючая канфігурацыя сэрвісу праграмы. Далей працуйце з яе зваротнымі выклікамі прыёму і звычайным цыклам закрыцця кліента.
Гэты слоўнік непасрэдна апісвае пасярэдніка. Гэта не карта схем прызначэння http/https, якую прымае Requests. Для публічнай прасторы імёнаў Event Hubs, дзе дазволены публічныя пасярэднікі, спіс HTTP-проксі дае кандыдатаў для палёў імя хаста і порта без уліковага запісу. Дадайце ключы username і password, калі патрэбны мэтавы ўліковы запіс проксі.
AMQP праз WebSockets выкарыстоўвае порт 443 сэрвісу, тады як звычайны транспарт AMQP выкарыстоўвае 5671. Проксі ўсё яшчэ павінен дазваляць утворанае злучэнне да прасторы імёнаў Event Hubs.
Уліковыя даныя токена могуць рабіць асобныя HTTP-запыты падчас атрымання токенаў. Наладзьце падтрыманы транспарт па меры неабходнасці, калі гэты шлях аўтэнтыфікацыі таксама патрабуе проксі.