Azure Bot Service : サービスの概要と初めての Web App Bot 作成

本記事では Microsoft Azure で提供されるボットサービスの作成と展開について紹介します。

# Azure Bot Service 概要

[Azure Bot Service](https://azure.microsoft.com/ja-jp/services/bot-service/) は Microsoft Azure で提供されるボットソリューションで、以下のコンポーネントから成り立ちます。

- Bot Builder をはじめとする SDK とツール類
- Bot Connector (Bot Channels Registration)
- Bot のホスト先 (WebApps/Function) や充実したサンプル/ドキュメント

Azure Bot Service を使うメリットは色々ありますが、主には以下の通りです。

- Web チャット、Facebook Messenger や Slack、コルタナなど、複数のチャネルで動作するボットを同じコードで開発できる。
- 充実した SDK とサンプルで迅速な開発が可能。
- LUIS や Application Insights、Cosmos DB や Cognitive Service などボットに必要な機能が Azure には揃っている。
- Azure が提供するスケールや管理機能が活用できる。
- 複数の開発言語をサポートするため、実行環境を柔軟に選択できる。
 
## Bot Builder をはじめとする SDK とツール類

ボット開発に必要な様々な機能を提供する SDK で、複数言語 (C#, Node.js, Java, Python) をサポートします。また目的別に分かれた CLI も提供されています。

詳細は本シリーズの Bot Builder のセクションを参照してください。

## Bot Connector (Bot Channels Registration)

開発したボットと Facebook Messenger などのチャットのチャネルを接続するコンポーネントで、以下のような機能をサポートします。

- ボットや関連サービスの登録と管理
- チャネルの登録と管理
- クライアント API (DirectLine) とサーバー API (BotFramework API) の提供
- 設定や分析が容易なポータル機能

## 各種コンポーネント

以下は主要なコンポーネントのリンクです。全てオープンソースで公開されています。

[ドキュメント](https://docs.microsoft.com/en-us/azure/bot-service/?view=azure-bot-service-4.0)
[SDK とツール](https://github.com/Microsoft/botbuilder)
[Bot Framework Emulator](https://github.com/microsoft/botframework-emulator)
[各種サンプル](https://github.com/Microsoft/BotBuilder-Samples)

# Web App Bot を作ってみる

ここでは Web App Bot の作り方と使い方について紹介します。

## Web App Bot 作成

1\. [Azure ポータル](https://portal.azure.com) にログインして、「リソースの作成」をクリック。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/214116/c4b07d9b-5587-0cdb-2fc9-55725511c351.png)

2\. 「Azure Bot」と入力して検索。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/214116/2588ea07-71e4-7a42-56f5-aec8c143249a.png)

3\. 「Web App Bot」を選択して、「作成」をクリック。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/214116/2749c02a-fbc1-7197-a5db-6547a8e86bf5.png)

4\. 「ボット名」や「アプリ名」など必要な個所を埋めて、「ボットテンプレートを」クリック。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/214116/2d776ef9-b2f4-a2cf-2a7b-497022cdbe74.png)

5\. 「Echo Bot」を選択して「選択」。他は適当に選択して「作成」をクリック。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/214116/3a9812aa-82ac-5379-63d6-616b92d18dcb.png)

6\. リソースの作成が完了したら、作成したリソースグループを確認。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/214116/052bba24-8939-5ae0-ee68-0ed4d562099c.png)

7\. 「Web アプリ ボット」リソースをクリックし、「Web チャットでテスト」を選択。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/214116/0322a91f-5d09-9130-398e-1d33c7ad49b0.png)

8\.　適当に入力して送信し、動作を確認。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/214116/df7f957b-4f54-4b5b-9a65-dfeb1c35d1f9.png)

## チャネルの追加

次にチャネルと追加してみます。

1\. メニューより「チャネル」を選択。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/214116/f8af30dd-a43e-c454-bb6e-612c0c8ed9cb.png)

2\. 任意のチャネルが追加可能だが、ここでは「Skype」を選択。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/214116/bf8e825e-15ed-ff3d-5c0d-10745d6b0878.png)

3\. 自動で登録されるので、「キャンセル」をクリックして元の画面に戻る。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/214116/4120cd66-4cef-17eb-8290-0a5cbaf90c9c.png)

4\. 「ボットの埋め込みコードを取得」をクリック。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/214116/e0bfc089-5832-d794-3433-859fa46ea100.png)

5\. Skype ボットのアドレスをコピー。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/214116/2e013a8f-6b13-aeca-7d72-ab30bac5cae7.png)

6\. ブラウザにアドレスを張り付けると登録画面が表示されるので、「Add to Contacts」をクリック。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/214116/319b38c9-69a1-8c4c-ee97-1045ae80fa53.png)

7\. Skype アカウントにサインインすると、自分のスカイプの連絡先にボットが追加されるので、チャットを開始。Web チャットと同じ動作であることを確認。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/214116/591be63b-2151-7da3-0bee-edcfd691dc89.png)

# まとめ

今回は Azure Bot Service の概要を簡単に紹介しました。次回は作成された Web App Bot について詳細を見ていきます。

[次の記事へ](https://qiita.com/kenakamu/items/817e2e98d9b20e44fa91)
[目次に戻る](https://qiita.com/kenakamu/items/6dc043cfc1f199032883)