Azure Event Hubs en Python: AMQP sobre WebSockets a través dun proxy HTTP
Pase o dicionario http_proxy de Event Hubs co nome de host e o porto enteiro mentres selecciona o transporte WebSocket AMQP.
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.