はじめに
Bot Framework Composer (以降 Composer) を使った Bot 作成を勉強していましたが、作成した Bot を Teams に配置するところでハマったので手順をメモしておきます。
Composer (v2.0) で Bot を作成、Azureに配置する部分は Microsoft MVP の 瀬尾さん が書かれたハンズオン資料ですべてカバーされています。
Composer は環境のセットアップこそ必要ですが、コードを一切書かなくてもいろんなチャンネルでうごくBotを作成できるので、とても便利ですね。
ということでハマったところを順に。
ポイント1. 発行プロファイルの作成でハマった!
名前かぶってるとうまく進まない問題でハマりました。
Composer から Azure に Bot を発行する場合には、Azure 側のリソースの情報等を納めた発行プロファイルというものを作成します。
新規にこれを作成する際には、リソースの名前も付けます。まずここでポイント!!
ここでつける名前は、Bot を動かすために必要な App Service Plan のリソース名にもなります。このため他とかぶらないようにチェックが入ります。
被らないいい感じの名前を付けたぞーとなっても油断大敵です。作成されるリソースのなかには「Azure Bot」もあり、これもユニークな名前でなければいけないようです。
これのせいで、Azure Bot以外のリソース作成はできているのに何度やってもエラー みたいな状況になりました。
回避するためには、先に Azure Bot (単独) の リソース作成を試して、そこで名前チェックをしておくのがよいです。
ポイント2. どうやってTeamsのBotとComposerで作ったBot関連付けるの!
「やった、AzureにBotを発行できた!じゃあTeamsに追加してみよう!」...
ん?どうやるの??ググっても素直に出てこないよ??
きっと次回もわからなくなるので、手順を書いていきます。
1. 作成したBotのエンドポイントをコピー
作成されたリソース群の中から「Azure Bot」を選びます。するとトップに 「Messaging endpoint」の項目があるので、これをコピーしておきます。
2. Teams 側で Bot を作成
今度は Teams 側にいって、 App Studio を起動して、「Bot Management」をクリックします。
表示された画面で「Quick create bot」をします。(結構時間かかる)
ここでとても大事な情報が表示されます。
- Bot Id
- Password
です。これをあとで使うので、メモしておきます。
また、Bot endpoint address の入力欄には、先ほどAzure Botの画面でコピーしておいた Messaging endpoint のURLを貼り付けておきます。
3. Teams 側でアプリ作成
Bot を チームや個人用のアプリとして利用するためには、アプリの作成が必要です。
再び、App Studio の画面で、今度は 「Create New App」します。
アプリの全体の設定をし終えたら、「Capabilities」>「Bot」と進み、Set upをします。
ここでは先ほど作成しておいた Bot を選択して、かつ Botとの対話でどんな機能を有効化するか などを選択します。
※ここでは、添付ファイルのやり取りをしてOCRしたかったので、Uploading and downloading files をチェックしました。
あとは Install !!
...
上手くいかず。たぶん、Teams の Botとしては Azure 側の Endpointを知っているけど、Azure の Bot側が Teams アプリの情報を知らないからなのでしょう!たぶん!
4. 再び Composer で 発行プロファイル設定
Composer に戻ります。 発行プロファイル を編集すると、設定ファイルをいじることができます。
この中に、 "MicrosoftAppId" と "MicrosoftAppPassword" という項目があります。
きっとこれだ!ということで、Teams の Bot作成時に控えておいた、Bot IDと Passwordを入れてあげましょう。
で、再び Bot を発行します。
動いたー!!!(最初若干ラグがあって急かしてしまった)
ということで Composer で作った Bot を 無事Teams で使えるようになりました。
はまりポイントのまとめ
1. まずはリソース名
Azure Bot の作成画面で事前に名前を確認してから Composer でリソース作成をしよう!
2. Teams Botの追加
Bot作成時に払い出された Bot IDと PasswordをComposerの発行プロファイルに設定しよう!
以上です。