Para un consumidor de Event Hubs en Python que usa un proxy HTTP, configure o dicionario de proxy do SDK e o transporte WebSocket ao construír 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 espazo de nomes, o nome do Event Hub e a credencial son a configuración de servizo existente da aplicación. Continúe coas súas devolucións de chamada de recepción e o ciclo de vida habitual de peche do cliente.

Este dicionario describe o intermediario directamente. Non é o mapa de esquemas de destino http/https que acepta Requests. Para un espazo de nomes público de Event Hubs onde se permiten intermediarios públicos, a lista de proxy HTTP fornece candidatos para os campos de nome de host e porto sen conta. Engada as claves username e password se se require a conta de proxy prevista.

AMQP sobre WebSockets utiliza o porto 443 do servizo, mentres que o transporte AMQP ordinario utiliza o 5671. O proxy debe seguir permitindo a conexión resultante cara ao espazo de nomes de Event Hubs.

Unha credencial de token pode realizar solicitudes HTTP separadas mentres obtén tokens. Configure o seu transporte admitido segundo sexa necesario cando esa ruta de autenticación tamén necesita o proxy.

Artigos relacionados