HTTP 프록시 뒤에 있는 Node의 Service Bus v7 메시징 클라이언트에는 SDK 샘플의 AMQP-over-WebSockets 구성을 사용합니다.

const { ServiceBusClient } = require("@azure/service-bus");
const WebSocket = require("ws");
const { HttpsProxyAgent } = require("https-proxy-agent");

const proxyAgent = new HttpsProxyAgent(proxyUrl);
const client = new ServiceBusClient(connectionString, {
  webSocketOptions: {
    webSocket: WebSocket,
    webSocketConstructorOptions: { agent: proxyAgent },
  },
});

프록시 URL과 Service Bus 연결 문자열을 제공합니다. 프록시 인증 없이 허용된 공용 Service Bus 네임스페이스 테스트에는 HTTP 프록시 목록의 HTTP 항목이 proxyUrl을 제공할 수 있습니다. ws 및 https-proxy-agent 패키지는 이미 애플리케이션 종속성이어야 합니다. 기본 ws 프록시 에이전트 인터페이스는 WebSocket 서비스와 프록시 주소를 분리된 상태로 유지합니다.

이렇게 하면 클라이언트가 만들어집니다. 연결은 보내는 사람이나 받는 사람이 작업을 수행할 때 발생합니다. 해당 워크로드를 위해 유지하고 종료 시 client.close()를 기다립니다.

프록시 터널 설정, WebSocket 협상, Service Bus 작업 중 어디에서 실패했는지 찾습니다. 프록시는 해당 대상과 세션을 허용해야 합니다. 짧은 HTTPS 액세스는 업그레이드 지원이나 허용 가능한 장기 연결 한도를 증명하지 않습니다.

이것은 연결 문자열을 사용하는 오버로드입니다. ID 자격 증명은 별도로 구성된 토큰 획득 경로를 추가할 수 있습니다. 오래된 azure-sb REST 스니펫은 다른 세대를 사용합니다. 전송 옵션을 선택하기 전에 패키지를 식별하세요.

관련 글