9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

はじめに

この記事は**「Microsoft Cognitive Services & Bot Framework - Qiita」**の4日目になります。

概要

本当はAzure Bot Serviceの構築・利用・削除までの一連の手順を書こうと思ってたんですが、12月1日にAzure Portalからアクセスしてみたらbot framework emulatorがloading以降表示されなくなってしまったのでクライアント版のbot framework emulatorの環境設定及び利用方法についてのお話に変更します。

image

※bot framework emulatorが無くなってしまったエビデンス、右端に存在していたemulatorが表示されなくなっています。
※12月3日に確認したところbot framework emulatorが表示されるようになっていました・・・。
 まだプレビューなのでこういうことはたまによくあります。

前提

Windows環境での作業を想定した情報となります。
本記事は2016年12月3日時点での情報となります。

インストール

環境に合わせてbot framework emulatorを下記からダウンロードしてください。
本記事ではWindows版をダウンロードしています。
Download : bot framework emulator

環境に合わせてngrokも下記よりダウンロードしてください。
本記事ではWindows版をダウンロードしています。
ダウンロード後、解凍し任意の場所にexeを配置してください。説明は後述します。
ngrok : SecureTunnels to localhost

参考

bot framework emulatorのDocumentはGITHUBに上がっているので下記を参照してください。
GITHUB : bot-framework-emulator

Azure Bot Serviceの構築方法は下記を参照してください。
Microsoft TeamsにAzure Bot Serviceで作成したBotを追加してみる

Azure Bot Serviceの削除方法は下記を参照してください。
Azure FunctionとAzure Bot Serviceの削除方法

各種情報の取得

bot framework emulatorを利用するにはBot ServiceのEndPointとMicrosoftAppId・Password情報が必要になります。**bot framework**のポータルにも記載されているのですがMicrosoftAppPassword情報はマスクされているため取得することができません。Azure Bot Serviceの画面からであればMicrosoftAppPasswordを再生成せずに取得することが可能です。

image

※bot frameworkのBot profileから遷移できるApplication Registration Portalです。ここではパスワードはマスクされているため削除してから新規にパスワードを作成する必要があります。

EndPointの取得

Azure Bot Serviceの画面からSettingsタブを選択しEndpointを取得します。
Messaging endpointの情報をコピーしてください。

image

MicrosoftAppIdとMicrosoftAppPasswordの取得

Azure Bot ServiceのSettings画面からApplicaiton settingsのOPENボタンを押下します。
アプリケーションの設定ブレードが開くのでアプリ設定からMicrosoftAppId・Passwordの情報を取得します。

image

bot framework emulatorの設定と利用

bot framework emulatorを起動します。
URLにEndPoint情報を入力し、MicrosoftAppIDとMicrosoftAppPasswordを入力しCONNECTを押下しAzure Bot Serviceに接続します。

image

接続後にLOGを見てみると下記のようなエラーが出力されているはずです。
このエラーはリモートサーバ上にあるBot Serviceがリクエストを受けてCallBackする時にlocalhostに対してレスポンスしてしまうため発生します。この現象を解決するためにngrock : Secure Tunnels Softwareを利用します。

image

URLの右隣にある設定ボタンからApp Settingを選択します。
Using ngrok?を選択しダウンロードしておいたngrok.exeを選択します。
ngrokとは外部からlocalhostにアクセスを可能とするためのサービスです。

image

設定が完了したらEmulatorを利用してみましょう。
ここではEcho Botを利用しているため任意の文字を入力すると入力した文字を返してくれます。
またresetと入力するとカウントをリセットするか確認ダイアログが表示されます。
リクエストメッセージやレスポンスメッセージをクリックするとDetailsで通信でやりとりされたJSON情報を確認することができます。

image

これでBot Serviceのデバッグ及びテストが出来るようになりました。

Azure Bot Serviceの画面からbot framework emulatorがなくなった理由はポータルで作業をさせないためだと思います。ただの不具合だったみたいです。とはいえポータル上での作業はインテリセンスが効かなかったりファイル追加できなかったりと非常に非効率です。。
Visual Studioで開発したBot ServiceをAzure Bot ServiceにCIデプロイしてbot framework emulatorでテストするという開発が主になって行くのだと勝手に思っております。

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?