터널을 사용하여 모든 채널에서 봇 디버그

적용 대상: SDK v4

봇이 개발 중인 동안 IDE 및 Bot Framework Emulator를 사용하여 봇과 로컬로 채팅하고 봇이 보내고 받는 메시지를 검사할 수 있습니다. 봇이 프로덕션 환경에 있는 경우 터널을 사용하여 모든 채널에서 봇을 디버그할 수 있습니다. 여러 채널에 대한 봇의 원활한 연결은 Bot Framework에서 사용할 수 있는 주요 기능입니다.

이 문서에서는 봇에 연결된 채널에서 터널 및 C# EchoBot 을 사용하여 로컬로 봇을 디버그하는 방법을 설명합니다. 이 문서에서는 Microsoft Teams를 예제 채널로 사용합니다.

필수 조건

터널 구성

Dev Tunnels 는 인터넷 요청이 로컬 컴퓨터에 도달할 수 있도록 터널링 또는 전달 URL을 만들 수 있는 플랫폼 간 애플리케이션입니다. Devtunnel을 사용하여 Azure Portal에 구성된 표준 메시징 엔드포인트와 달리 디버깅을 허용하도록 웹의 외부 채널에서 로컬 컴퓨터로 직접 메시지를 전달합니다.

  1. CLI에 대한 액세스 권한이 있는 터미널을 devtunnel 엽니다.

  2. 다음 명령을 사용하여 devtunnel을 실행하여 새 터널을 만듭니다.

    devtunnel host -a -p 3978
    

    참고 항목

    지정된 포트는 봇이 실행 중인 포트입니다. 원하는 모든 localhost 포트를 사용할 수 있습니다.

  3. devtunnel이 시작되면 나중에 공용 전달 URL을 복사하고 저장합니다.

    devtunnel 전달 URL

Azure Portal에서 구성

devtunnel이 실행되는 동안 Azure Portal에 로그인하고 봇 설정을 확인하여 일부 구성을 수행합니다.

  1. 로컬 봇에 연결된 봇 리소스를 선택합니다.

  2. 설정/구성을 찾 습니다. 메시징 엔드포인트 필드에 devtunnel 전달 URL을 복사하여 붙여넣습니다. URL 끝에 "/api/messages"를 유지 관리해야 합니다.

    메시징 엔드포인트

  3. 적용을 선택합니다.

테스트

이제 외부 채널에서 봇으로 들어오는 메시지가 로컬 봇으로 전송됩니다. 이를 설명하는 데 사용할 샘플 봇은 Microsoft Teams에 대해 이미 라이브로 구성되어 있습니다. Microsoft Teams 채널을 사용하여 로컬 봇을 연결하는 방법에 대한 봇을 Microsoft Teams연결합니다.

로컬에서 Visual Studio에서 중단점을 설정할 수 있습니다. 들어오는 활동 개체에서 텍스트 속성을 확장하면 팀에서 봇을 보낸 메시지가 디버그할 수 있도록 로컬로 가로채는 것을 볼 수 있습니다.

중단점 설정

여기서는 정상적으로 디버그하고 코드를 단계별로 실행할 수 있습니다. 이를 사용하여 모든 채널에서 봇을 디버그합니다.

추가 정보