はじめに
BotFrameworkがGA(一般提供開始)しました。
プレビュー版から変わったとことかのメモ。
Botを管理する場所
今までMicrosoft Bot FrameworkでBotの作成や設定の変更などを行っていましたが、Azureポータルから行うようになります。
従来の管理画面。移行を促すメッセージとMigration Status
、Migrateボタン
が追加されています。
Azureポータルの管理画面。Azureを普段利用している方にとっては見慣れた画面ですね。
Botの新規作成
Botの新規作成もAzureポータルから行うようになります。
新規 → AI + Cognitive Servicesを選ぶと、
- Web App Bot
- Bot Channels Registration
- Functions Bot
の3つがBotサービスとして用意されています。
Web App Bot
Azure Web AppをベースにしたBotサービスです。
とりあえずBotを作りたい場合はこれがいいかと。
登録画面はお決まりなので省略しますが、
テンプレートが用意されているのである程度のものは最初から出来るようになっています。
登録後画面では各種設定を変更出来るようになっています。
主要なものを紹介します。
プレビュー版を使ったことがある方なら見覚えのあるチャンネルの設定画面です。
ここでBotの接続先となるサービスに対する設定などを行います。
プレビュー版の時から有ったのかあまり記憶にないのですが、
ビルド画面からソースをダウンロードしたり、CIの設定などが出来ます。
後、オンラインでソースを編集出来るようです。
オンラインコードエディタで編集をすると変更内容が即時反映されるので、余程のことが無い限り利用しそうにないですw
プレビュー版の時にはチャンネルのページにあったWebChatでのテストが独立しています。
Bot Channels Registration
名前の通りBotのチャンネルを登録するサービス。
Botテンプレートを使用しコードを作成し、App Serviceや別の場所(オンプレとかかな)にデプロイする場合などはこちらを使用します。
MSの方が作成しているサンプルとかを元にする場合とかもこれ。
ヘルプ デスク ボットのハンズオン ラボ
登録画面はWeb App Botとあまり変わりませんが、メッセージング エンドポイント
を指定出来るようになっています。
ちなみに登録時は必須ではないので、まだ開発中などの場合もとりあえず作成出来ます。
登録後画面もあまり変わりがありませんが、ビルド項目とApp Service周りの設定が無くなっています。
Functions Bot
Azure FunctionsをベースにしたBotサービスです。
Web App Botと比べて何がいいのかイマイチ分かっていません。
Azure Functionsベースということは従量課金プランが選べるので、あまり稼働頻度の多くないBotとかは費用が抑えられるくらい?
Web App Botと同様にテンプレートが用意されているので、ある程度のものは最初から出来ます。
登録後画面の項目はWeb App Botと同様。
ビルド画面は少し違っていて、オンラインコードエディタでは無くAzure Functionsへのリンクとなっています。
Azure Functionsの画面が表示されます。
Botを新規作成する場合の注意点
Botを新規作成する際にajax Extended call failed
やService Error
などが表示され、Botの作成に失敗することがあります。
Stack Overflow:ajax Extended call failed in Azure
↑にも同じようなエラーに遭遇した方がいますが、
原因としては、Azure Active Directory Appの作成権限が無いことです。
AzureサブスクリプションとAzure Active Directoryの権限は完全に別物のため、会社や部門などでAzureのアカウントを共有利用している場合は権限が設定されていない可能性があります。
詳しくはAzure サブスクリプションと Azure AD の管理者を参照してください。
適切な設定や権限があるのでしょうが、取りあえず管理者権限を設定してもらってやりすごしました…。
プレビュー版のBotの移行
最初の方の管理画面の違いでMigrate
ボタンがあることを書いていますが、
プレビュー版で作成したBotは移行することが出来ます。
プレビュー版で作成したBotについては2018年3月31日までに移行する必要があるようです。
それまでに移行出来なかったらどうなるかは不明です…。
Microsoft Bot FrameworkのMy Botsを表示し、移行するBotのMigrate
ボタンをクリックします。
移行の画面が表示されるので、AzureのサブスクリプションIDとリージョンを指定します。
※プランは有償プラン固定ですが移行後に変更出来ます。
移行ダイアログが表示されず上記の画面が出る場合がありますが、正直原因不明です…。
出たり出なかったりするのでツライ。
移行が完了したものはstatusがMigrated
に変わっています。
移行期限の2018年3月31まではロールバックすることも出来ます。