Depurar um bot de qualquer canal usando um túnel

APLICA-SE A: SDK v4

Enquanto seu bot está em desenvolvimento, você pode usar um IDE e o Bot Framework Emulator para conversar com seu bot localmente e inspecionar as mensagens que seu bot envia e recebe. Se o bot estiver em produção, você poderá depurá-lo de qualquer canal usando um túnel. A conexão perfeita do seu bot a vários canais é um recurso fundamental disponível no Bot Framework.

Este artigo descreve como depurar seu bot localmente usando um túnel e um C# EchoBot em um canal conectado ao seu bot. Este artigo usa o Microsoft Teams como um canal de exemplo.

Pré-requisitos

  • Uma subscrição do Microsoft Azure.
  • Instale um software de tunelamento como Dev Tunnels.
  • Um bot C# Echo, configurado como um aplicativo multilocatário e conectado a qualquer canal.

Configurar um túnel

O Dev Tunnels é um aplicativo multiplataforma que pode criar uma URL de encapsulamento ou encaminhamento, para que as solicitações da Internet cheguem à sua máquina local. Use devtunnel para encaminhar mensagens de canais externos na Web diretamente para sua máquina local para permitir a depuração, em oposição ao ponto de extremidade de mensagens padrão configurado no portal do Azure.

  1. Abra um terminal com acesso à devtunnel CLI.

  2. Execute devtunnel com o seguinte comando para criar um novo túnel.

    devtunnel host -a -p 3978
    

    Nota

    A porta especificada é a porta em que o bot está sendo executado. Você pode usar qualquer porta localhost que desejar.

  3. Quando o devtunnel for iniciado, copie e salve a URL de encaminhamento público para mais tarde.

    URL de encaminhamento devtunnel

Configurar no portal do Azure

Enquanto o devtunnel estiver em execução, entre no portal do Azure e exiba as configurações do bot para fazer algumas configurações.

  1. Selecione seu recurso de bot conectado ao seu bot local.

  2. Localize Configurações/Configuração. Copie e cole a URL de encaminhamento do devtunnel no campo Ponto de extremidade de mensagens. Certifique-se de manter "/api/messages" no final do URL.

    Ponto de extremidade de mensagens

  3. Selecione Aplicar.

Teste

Neste ponto, as mensagens recebidas do bot para o bot de canais externos serão enviadas para o bot local. O bot de exemplo que usaremos para demonstrar isso já está configurado ao vivo para o Microsoft Teams. Leia Conectar um bot ao Microsoft Teams sobre como conectar um bot local ao canal do Microsoft Teams .

Localmente, você pode definir pontos de interrupção no Visual Studio. Expandindo a propriedade text do objeto de atividade de entrada, você verá que a mensagem enviada ao bot pelas equipes está sendo intercetada localmente para você depurar.

Definir pontos de interrupção

A partir daqui, você pode depurar normalmente e executar seu código passo a passo. Use isso para depurar seu bot de qualquer canal.

Informações adicionais