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á depurar o bot de qualquer canal usando um túnel. A conexão perfeita do seu bot com 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 EchoBot C# em um canal conectado ao bot. Este artigo usa o Microsoft Teams como um exemplo de canal.
Pré-requisitos
- Uma assinatura do Microsoft Azure.
- Instale um software de tunelamento, como o Dev Tunnels.
- Um bot Echo C#, 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 tunelamento ou encaminhamento, para que as solicitações da Internet cheguem ao seu computador local. Use devtunnel para encaminhar mensagens de canais externos na Web diretamente para seu computador local para permitir a depuração, em vez do ponto de extremidade de mensagens padrão configurado no portal do Azure.
Abra um terminal com acesso à
devtunnel
CLI.Execute devtunnel com o comando a seguir para criar um novo túnel.
devtunnel host -a -p 3978
Observação
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ública 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 o recurso de bot conectado ao bot local.
Localize Configurações/Configuração. Copie e cole a URL de encaminhamento do devtunnel no campo Endpoint de mensagens. Certifique-se de manter "/api/messages" no final da URL.
Escolha Aplicar.
Teste
Neste ponto, as mensagens recebidas do seu bot de canais externos agora serão enviadas para o bot local. O bot de exemplo que usaremos para demonstrar isso já foi 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 texto do objeto de atividade de entrada, você verá que a mensagem enviada ao bot das equipes está sendo interceptada localmente para você depurar.
A partir daqui, você pode depurar normalmente e executar seu código etapa por etapa. Use essa etapa para depurar seu bot de qualquer canal.