Eseguire il debug di un bot da qualsiasi canale con ngrok
SI APPLICA A: SDK v4
Mentre il bot è in fase di sviluppo, è possibile usare un IDE e Bot Framework Emulator per chattare con il bot in locale ed esaminare i messaggi inviati e ricevuti dal bot. Se il bot è in produzione, è possibile eseguire il debug del bot da qualsiasi canale usando ngrok. La connessione perfetta del bot a più canali è una funzionalità chiave disponibile in Bot Framework.
Questo articolo descrive come eseguire il debug del bot in locale usando ngrok e un EchoBot C# in un canale connesso al bot. Questo articolo usa Microsoft Teams come canale di esempio.
Nota
Bot Framework Emulator e ngrok non supportano l'identità gestita assegnata dall'utente o i bot a tenant singolo.
Prerequisiti
- Un abbonamento a Microsoft Azure.
- Installare ngrok.
- Un bot Echo C#, configurato come app multi-tenant e connesso a qualsiasi canale.
Eseguire ngrok
ngrok è un'applicazione multipiattaforma che può creare un URL di tunneling o inoltro, in modo che le richieste Internet raggiungano il computer locale. Usare ngrok per inoltrare messaggi da canali esterni sul Web direttamente al computer locale per consentire il debug, anziché l'endpoint di messaggistica standard configurato nella portale di Azure.
Aprire un terminale e passare alla cartella con l'eseguibile ngrok.
Eseguire ngrok con il comando seguente per creare un nuovo tunnel.
ngrok http 3978 --host-header rewrite
Nota
La porta specificata è la porta in cui è in esecuzione il bot. È possibile usare qualsiasi porta localhost desiderata.
All'avvio di ngrok copiare e salvare l'URL di inoltro pubblico per un secondo momento.
Configurare nel portale di Azure
Mentre ngrok è in esecuzione, accedere al portale di Azure e visualizzare le impostazioni del bot per eseguire alcune configurazioni.
Selezionare la risorsa bot connessa al bot locale.
Scorrere verso il basso fino a Configurazione. Copiare e incollare l'URL di inoltro ngrok nel campo Endpoint di messaggistica. Assicurarsi di mantenere "/api/messages" alla fine dell'URL.
Scorrere verso l'alto e selezionare Salva.
Test
A questo punto, i messaggi in arrivo dal bot dai canali esterni verranno ora inviati al bot locale. Il bot di esempio che verrà usato per dimostrare che è già configurato in tempo reale per Microsoft Teams. Leggere Connessione un bot a Microsoft Teams per la connessione di un bot locale al canale di Microsoft Teams.
In locale è possibile impostare punti di interruzione in Visual Studio. Espandendo la proprietà di testo dall'oggetto attività in ingresso, si noterà che il messaggio inviato dal bot dai team viene intercettato localmente per il debug.
Da qui è possibile eseguire il debug normalmente ed eseguire il codice in modo dettagliato. Usare questa opzione per eseguire il debug del bot da qualsiasi canale.