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

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.

  1. Aprire un terminale e passare alla cartella con l'eseguibile ngrok.

  2. 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.

  3. All'avvio di ngrok copiare e salvare l'URL di inoltro pubblico per un secondo momento.

    ngrok forwarding URL

Configurare nel portale di Azure

Mentre ngrok è in esecuzione, accedere al portale di Azure e visualizzare le impostazioni del bot per eseguire alcune configurazioni.

  1. Selezionare la risorsa bot connessa al bot locale.

  2. 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.

    Messaging endpoint

  3. 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.

Teams channel

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.

Set breakpoints

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.

Informazioni aggiuntive