none
Azure Bot Service の種類について RRS feed

  • 全般的な情報交換

  • こんにちは。Azure Bot Service Support Team です。

     

    今回は Azure Bot Service の作成から、配置して動作させるまでに必要な作業等について紹介します。

     

    Azure Bot Service を利用しようと Azure ポータルから作業を行おうとすると、Web App Bot Bot Channels Registration 2 つの項目があることに気づかれると思います。

     

    現在、Azure Bot Service には Web App Bot と Bot Channels Registration という 2 種類のリソースがあります。(過去には Functions Bot というリソースもありましたが、作成できなくなりました)

    いずれも Azure Bot Service を利用するためのリソースなのですが、以下のような場合に各チャンネルをご検討いただければと思います。

     

    Web App Bot

    ----------

    Bot アプリケーションは Azure Web Apps 上に配置する予定の場合

    とりあえず Bot アプリケーションを簡単に試してみたい場合

    Azure Web Apps での開発に慣れていて、Azure Web Apps の機能を Bot アプリケーションでも活用したい場合

    Visual Studio 等も入れずに Azure ポータルだけで Bot アプリケーションも含めた管理を行いたい場合

     

    Bot Channel Registration

    ----------

    Bot アプリケーションを Azure Web Apps 以外に配置する予定の場合

     

    以下に上記のように記載した理由等を記載します。

     

    まず、Azure Bot Service を利用して Bot アプリケーションを動作させたい場合、以下の 2 点が必要になります。

     

       1. Bot アプリケーションを動作させるサーバーを用意し、開発した Bot アプリケーションを配置する

       2. Azure Bot Service の機能 (Standard チャネルや Premium チャネル等) を利用できるように、1 で配置した Bot アプリケーションを登録する

     

    2 は主に Azure ポータルや Azure CLI を利用して Bot の構成を設定することになりますが、1 のためには「インターネットから」かつ「インターネットに」接続可能な任意のサーバーを用意し、かつ、以下のリンクに記載されているように Visual Studio Bot アプリケーションのテンプレートや GitHub 上に公開されている Bot アプリケーションのサンプル等を元に開発した Bot アプリケーションを配置するといった作業が必要となります。

     

       チュートリアル:基本的なボットを作成してデプロイする

       https://docs.microsoft.com/ja-jp/azure/bot-service/bot-builder-tutorial-basic-deploy?view=azure-bot-service-4.0&tabs=csharp%2Cnewrg#deploy-your-bot

     

       BotBuilder-Samples

       https://github.com/Microsoft/BotBuilder-Samples

     

    上記の作業を簡単にしてくれるのが、Web App Bot というリソースです。Web App Bot リソースを作成すると、リソース作成時に必要な項目を埋めることで、上述の 1 2 の作業を自動的に行ってくれます。

    なお、上述した通り、1 のサーバーには Azure App Service (より正確には Azure Web Apps) が利用されます。

     

    この方法について記載されているドキュメントが以下になります。

     

       Azure Bot Service を使用してボットを作成する

       https://docs.microsoft.com/ja-jp/azure/bot-service/bot-service-quickstart?view=azure-bot-service-4.0

     

    以下の赤枠の部分が 1 の作業のために行われるサーバー (Azure Web Apps) の作成と Bot アプリケーションの配置を構成する部分になります。

    Web アプリ ボットの作成画面


    Bot Channel Registration リソースを作成する際の画面と見比べていただくと、Bot Channel Registartion リソースの作成時は 1 の作業が不要なため、Bot アプリケーションの作成に関する項目がないことがお分かりいただけるかと思います。

     

    Bot Channel Registration リソースの作成画面

     

    アプリ名には Azure Web Apps を作成する際と同様に、Azure Web Apps リソースの URL にもなる名前を指定します。

     

    ボット テンプレートでは、既定で用意されている Bot アプリケーションのテンプレートを選択します。言語としては C# Node.js が用意されており、ユーザーから話し掛けた内容をオウム返しで返すだけの Echo Bot と、弊社が提供している自然言語解析サービスである LUIS Bot を連携させたサンプル プロジェクトである基本 bot のいずれかを選択します。基本 bot を選択した場合は、上記画像の選択肢の他に、LUIS リソースをどの場所に作成するかの選択肢も表示されます。

     


     

    必要な項目を埋めて Web App Bot リソースと Bot Channels Registration リソースをそれぞれ全ての項目を新規に作成したとすると、Web App Bot リソースには 1 の作業のために作成された App Service プランや App Service リソースがあり、また、管理画面にも違いがあることが確認できます。

     

    Web App Bot リソース (最もシンプルな Echo bot テンプレートで作成した場合)

    /// 作成されたリソース


     

    /// 管理画面


     

    Bot Channels Registration リソース

    /// 作成されたリソース


     

    /// 管理画面


     

    Web App Bot リソースを作成した場合、Azure Bot Service Azure Web Apps が紐づけられることで、赤枠内にあるように Azure Bot Service 上から Azure App Service にて利用できるオンライン コード エディターや様々なデプロイの機能、また、App Service Configuration 設定が Bot の管理画面からも変更できるようになっています。また、必要に応じて、すべての App Service 設定から、紐づけられている App Service の管理画面に遷移することができるようになっています。

     

       Azure App Service での GIT による継続的なデプロイ

       https://docs.microsoft.com/ja-jp/azure/bot-service/bot-service-build-continuous-deployment?view=azure-bot-service-4.0

     

    非常に簡単に Bot アプリケーションを配置でき、かつ、Bot アプリケーションを配置したサーバーとの管理面での連携もあるため、Bot アプリケーションの開発時にぜひご検討いただければと思います。

     

    なお、Bot Channel Registration を利用する場合は、1 で用意した Bot アプリケーションを配置した URL をメッセージング エンドポイントに指定します (URL https である必要があります)

    該当の設定は Bot Channel Registration 作成時に設定するだけではなく、Bot Channel Registration の作成時には指定せず、作成後に指定することもできます (Web App Bot を作成した場合は、同時に作成された Azure Web Apps Bot アプリケーションの URL が自動的に設定されます)

     


     

     補足 (Bot Service のリソース以外に作成されるリソースについて)

    ====================

    上記の通り、Web App Bot リソースや Bot Channel Registartion リソースを既定のまま作成すると、Azure Bot Service のリソース (Web アプリ ボット」や「ボット チャンネル登録」) 以外にも、App Service プランや App ServiceApplication Insights といったリソースが作成されます。

     

    前回お伝えした Azure Bot Service の料金は、「2. Azure Bot Service の機能 (Standard チャネルや Premium チャネル等) を利用できるように、1 で配置した Bot アプリケーションを登録する」に関する料金であり、こちらは Web App Bot リソース (Web アプリ ボット) Bot Channel Registartion リソース (ボット チャンネル登録) を作成する時の価格レベルや、該当のリソースの管理画面にある [Bot Service の料金] の箇所に当たります。

     

    それ以外に作成されるリソースには、Azure Bot Service にかかる料金以外に、別途料金が発生します。下記ページの「上記の料金とは別に、以下のリソース使用にも料金が発生します。」の箇所に説明があります。

     

       Azure Bot Service の価格

       https://azure.microsoft.com/ja-jp/pricing/details/bot-service/

     

    作成される可能性があるリソースの例としては以下が挙げられます。

     

    - App Service プランおよび App Service

    Azure App Service を利用するために必要なリソースになります (https://azure.microsoft.com/ja-jp/pricing/details/app-service/windows/)

    Web App Bot を作成する際に必要になりますが、既存の App Service のリソースを指定することもできます。

     

    - Application Insights

    Azure Bot Service で発生した例外等の情報を記録したり、アクセス数の分析を行う際に利用できるリソースになります (https://docs.microsoft.com/ja-jp/azure/azure-monitor/app/app-insights-overview)

    Bot アプリケーションを動作させるために必須のリソースではありませんが、問題が起きた時のトラブルシューティング時に有用なため、利用いただくことをお勧めいたします。

     

    - LUIS アプリケーション

    Web App Bot リソースで、基本ボット テンプレートで利用される自然言語処理サービス (LUIS) を利用するために必要になります (https://azure.microsoft.com/ja-jp/services/cognitive-services/)

    基本ボット テンプレートを利用しない場合や、Bot アプリケーションから LUIS アプリケーションを利用しない場合は必要ございません。

     

    その他に、Bot アプリケーションから Qna Maker サービス (https://azure.microsoft.com/ja-jp/services/cognitive-services/qna-maker/) や、複雑な会話を実現するためのダイアログ機能の保存先としてストレージ サービス (https://azure.microsoft.com/ja-jp/services/storage/) を利用する場合、各リソースを利用するための料金が発生しますので、その点もご考慮いただければと存じます。

     

    利用するリソースを作成した場合にどれほどの料金となるかは、料金計算ツールから算出できますので、ご活用いただければ幸いです。

     

       料金計算ツール

       https://azure.microsoft.com/ja-jp/pricing/calculator/?service=storage

     

    それでは、また。


    2019年8月9日 4:19
    所有者