HTTP 프록시를 사용하는 Event Hubs Python 소비자는 클라이언트를 만들 때 SDK의 프록시 사전과 WebSocket 전송을 설정합니다:

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

네임스페이스, Event Hub 이름, 자격 증명은 애플리케이션에 이미 있는 서비스 구성입니다. 이어서 수신 콜백과 평소의 클라이언트 종료 수명 주기를 그대로 사용하세요.

이 사전은 중계 서버를 직접 기술합니다. Requests가 받는 http/https 대상 스킴 맵과는 다릅니다. 공용 중계 서버가 허용되는 공용 Event Hubs 네임스페이스라면 HTTP 프록시 목록이 계정 없는 호스트 이름과 포트 항목의 후보를 제공합니다. 의도한 프록시 계정이 필요하면 username과 password 키를 추가하세요.

WebSockets 기반 AMQP는 서비스의 443 포트를 사용하고, 일반 AMQP 전송은 5671 포트를 사용합니다. 프록시는 그래도 Event Hubs 네임스페이스로 생기는 연결을 허용해야 합니다.

토큰 자격 증명은 토큰을 얻는 동안 별도의 HTTP 요청을 보낼 수 있습니다. 그 인증 경로에도 프록시가 필요할 때는 지원되는 전송을 필요한 대로 설정하세요.

관련 글