Para um consumidor de Event Hubs em Python que usa um proxy HTTP, configure o dicionário de proxy do SDK e o transporte WebSocket ao construir o cliente:

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

O namespace, o nome do Event Hub e a credencial são a configuração de serviço existente da aplicação. Continue com os seus callbacks de receção e o ciclo de vida habitual de fecho do cliente.

Este dicionário descreve o intermediário diretamente. Não é o mapa de esquemas de destino http/https que o Requests aceita. Para um namespace público do Event Hubs onde são permitidos intermediários públicos, a lista de proxies HTTP fornece candidatos para os campos de nome de host e porta sem conta. Adicione as chaves username e password se a conta de proxy pretendida for necessária.

AMQP sobre WebSockets utiliza a porta 443 do serviço, enquanto o transporte AMQP comum utiliza a 5671. O proxy ainda tem de permitir a ligação resultante para o namespace do Event Hubs.

Uma credencial de token pode efetuar pedidos HTTP separados enquanto obtém tokens. Configure o transporte suportado conforme necessário quando esse caminho de autenticação também precisar do proxy.

Artigos relacionados