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.
Abra um terminal com acesso à
devtunnel
CLI.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.
Quando o devtunnel for iniciado, copie e salve a URL de encaminhamento público para mais tarde.
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.
Selecione seu recurso de bot conectado ao seu bot local.
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.
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.
A partir daqui, você pode depurar normalmente e executar seu código passo a passo. Use isso para depurar seu bot de qualquer canal.