För en Event Hubs-konsument i Python som använder en HTTP-proxy konfigurerar du SDK:ns proxyordbok och WebSocket-transporten när klienten byggs:

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,
    },
)

Namnrymden, Event Hub-namnet och autentiseringsuppgiften är programmets befintliga tjänstekonfiguration. Fortsätt med dess mottagnings-callbacks och den vanliga livscykeln för att stänga klienten.

Den här ordboken beskriver mellanhanden direkt. Den är inte den http/https-målschemakarta som Requests accepterar. För en offentlig Event Hubs-namnrymd där offentliga mellanhänder är tillåtna tillhandahåller HTTP-proxylistan kandidater för fälten värdnamn och port utan konto. Lägg till nycklarna username och password om det avsedda proxykontot krävs.

AMQP över WebSockets använder tjänstens port 443, medan den vanliga AMQP-transporten använder 5671. Proxyn måste fortfarande tillåta den resulterande anslutningen till Event Hubs-namnrymden.

En tokenautentiseringsuppgift kan göra separata HTTP-förfrågningar medan den hämtar tokens. Konfigurera den transport den stöder vid behov när den autentiseringsvägen också behöver proxyn.

Relaterade artiklar