Для споживача 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-запити під час отримання токенів. Налаштуйте підтримуваний ними транспорт за потреби, коли цьому шляху автентифікації також потрібен проксі.

Схожі статті