Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

GAしたBotFrameworkについてのメモ

More than 3 years have passed since last update.

はじめに

BotFrameworkがGA(一般提供開始)しました。
プレビュー版から変わったとことかのメモ。

Botを管理する場所

今までMicrosoft Bot FrameworkでBotの作成や設定の変更などを行っていましたが、Azureポータルから行うようになります。

image.png

従来の管理画面。移行を促すメッセージとMigration StatusMigrateボタンが追加されています。

image.png

Azureポータルの管理画面。Azureを普段利用している方にとっては見慣れた画面ですね。

Botの新規作成

Botの新規作成もAzureポータルから行うようになります。
image.png

新規 → AI + Cognitive Servicesを選ぶと、

  • Web App Bot
  • Bot Channels Registration
  • Functions Bot

の3つがBotサービスとして用意されています。

Web App Bot

Azure Web AppをベースにしたBotサービスです。
とりあえずBotを作りたい場合はこれがいいかと。

image.png

登録画面はお決まりなので省略しますが、
テンプレートが用意されているのである程度のものは最初から出来るようになっています。

image.png

登録後画面では各種設定を変更出来るようになっています。
主要なものを紹介します。

image.png

プレビュー版を使ったことがある方なら見覚えのあるチャンネルの設定画面です。
ここでBotの接続先となるサービスに対する設定などを行います。

image.png

プレビュー版の時から有ったのかあまり記憶にないのですが、
ビルド画面からソースをダウンロードしたり、CIの設定などが出来ます。
後、オンラインでソースを編集出来るようです。

image.png

オンラインコードエディタで編集をすると変更内容が即時反映されるので、余程のことが無い限り利用しそうにないですw

image.png

プレビュー版の時にはチャンネルのページにあったWebChatでのテストが独立しています。

Bot Channels Registration

名前の通りBotのチャンネルを登録するサービス。
Botテンプレートを使用しコードを作成し、App Serviceや別の場所(オンプレとかかな)にデプロイする場合などはこちらを使用します。
MSの方が作成しているサンプルとかを元にする場合とかもこれ。
ヘルプ デスク ボットのハンズオン ラボ

image.png

登録画面はWeb App Botとあまり変わりませんが、メッセージング エンドポイントを指定出来るようになっています。
ちなみに登録時は必須ではないので、まだ開発中などの場合もとりあえず作成出来ます。

image.png

登録後画面もあまり変わりがありませんが、ビルド項目とApp Service周りの設定が無くなっています。

Functions Bot

Azure FunctionsをベースにしたBotサービスです。
Web App Botと比べて何がいいのかイマイチ分かっていません。
Azure Functionsベースということは従量課金プランが選べるので、あまり稼働頻度の多くないBotとかは費用が抑えられるくらい?

image.png

Web App Botと同様にテンプレートが用意されているので、ある程度のものは最初から出来ます。

image.png

登録後画面の項目はWeb App Botと同様。

image.png

ビルド画面は少し違っていて、オンラインコードエディタでは無くAzure Functionsへのリンクとなっています。

image.png

Azure Functionsの画面が表示されます。

Botを新規作成する場合の注意点

Botを新規作成する際にajax Extended call failedService 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日までに移行する必要があるようです。
それまでに移行出来なかったらどうなるかは不明です…。

image.png

Microsoft Bot FrameworkのMy Botsを表示し、移行するBotのMigrateボタンをクリックします。

image.png

移行の画面が表示されるので、AzureのサブスクリプションIDとリージョンを指定します。
※プランは有償プラン固定ですが移行後に変更出来ます。

image.png

移行ダイアログが表示されず上記の画面が出る場合がありますが、正直原因不明です…。
出たり出なかったりするのでツライ。

image.png

移行が完了したものはstatusがMigratedに変わっています。
移行期限の2018年3月31まではロールバックすることも出来ます。

njc
NJCは、優れたシステムとサービスを通して、豊かな社会の実現に貢献します。
https://www.njc.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away