Pour un consommateur Event Hubs en Python qui utilise un proxy HTTP, configurez le dictionnaire de proxy du SDK et le transport WebSocket lors de la construction du client :

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

L'espace de noms, le nom de l'Event Hub et les informations d'identification constituent la configuration de service existante de l'application. Poursuivez avec ses rappels de réception et le cycle de vie habituel de fermeture du client.

Ce dictionnaire décrit l'intermédiaire directement. Ce n'est pas la table des schémas de destination http/https acceptée par Requests. Pour un espace de noms Event Hubs public où les intermédiaires publics sont autorisés, la liste de proxys HTTP fournit des candidats pour les champs de nom d'hôte et de port sans compte. Ajoutez les clés username et password si le compte de proxy prévu est requis.

AMQP sur WebSockets utilise le port 443 du service, tandis que le transport AMQP ordinaire utilise le port 5671. Le proxy doit néanmoins autoriser la connexion résultante vers l'espace de noms Event Hubs.

Une information d'identification par jeton peut émettre des requêtes HTTP distinctes pendant l'obtention des jetons. Configurez le transport qu'elle prend en charge selon les besoins lorsque ce chemin d'authentification requiert lui aussi le proxy.

Articles similaires