トンネルを使用して任意のチャネルからボットをデバッグする

この記事の対象: SDK v4

ボットの開発中は、IDE と Bot Framework Emulator を使用してボットとローカルでチャットし、ボットが送受信するメッセージを調べることができます。 ボットが運用環境にある場合は、トンネルを使用して任意のチャネルからボットをデバッグできます。 ボットを複数のチャネルにシームレスに接続することは、Bot Framework で利用できる重要な機能です。

この記事では、ボットに接続されたチャネルでトンネルと C# の EchoBot を使用して、ボットをローカルでデバッグする方法について説明します。 この記事では、チャネルの例として Microsoft Teams を使用します。

前提条件

トンネルを構成する

開発トンネルは、インターネット要求がローカル マシンに到達するように、トンネリング URL または転送 URL を作成できるクロスプラットフォーム アプリケーションです。 devtunnel を使用して、Web 上の外部チャネルからのメッセージを (Azure portal で構成された標準のメッセージング エンドポイントではなく) 直接ローカル コンピューターに転送することで、デバッグが可能になります。

  1. devtunnel CLI にアクセスできるターミナルを開きます。

  2. 新しいトンネルを作成するには、次のコマンドで devtunnel を実行します。

    devtunnel host -a -p 3978
    

    Note

    指定されたポートは、ボットが実行されているポートです。 任意の localhost ポートを使用できます。

  3. devtunnel が起動したら、後で使用するために転送用パブリック URL をコピーして保存します。

    devtunnel の転送用 URL

Azure Portal での構成

devtunnel の実行中に、Azure portal にサインインし、ボットの設定を表示して構成を行います。

  1. ローカル ボットに接続されているボット リソースを選択します。

  2. [設定]/[構成] に移動します。 devtunnel の転送用 URL をコピーして、[メッセージング エンドポイント] フィールドに貼り付けます。 URL の末尾に "/api/messages" が維持されていることを確認します。

    メッセージング エンドポイント

  3. 適用を選択します。

テスト

この時点で、外部チャンネルからボットへの受信メッセージがローカル ボットに送信されるようになります。 これを示すために使用するサンプル ボットは、Microsoft Teams 用に既にライブ構成されています。 ローカル ボットと Microsoft Teams チャンネルの接続については、「ボットを Microsoft Teams に接続する」を参照してください。

ローカルでは、Visual Studio でブレークポイントを設定できます。 受信アクティビティ オブジェクトから text プロパティを展開すると、チームからボットを送信したメッセージがローカルで傍受され、デバッグが行われていることがわかります。

ブレークポイントを設定する

ここからは、通常どおりにデバッグし、コードをステップ バイ ステップで実行できます。 これを使用して、任意のチャネルからボットをデバッグします。

追加情報