LoginSignup
1
1

More than 3 years have passed since last update.

Windows環境で手っ取り早くAzureのボットアプリを作ってみた

Last updated at Posted at 2021-01-17

どういう記事?

  • Windows環境でMicrosoftのAzureのボットアプリを開発(オウム返しBotのテストまで)するやり方メモです。
  • 公式ガイドに沿ってやってみたことはあったのですが、正直結構めんどくさい細かく手順を踏んでいてなかなか動作までたどり着かなかったので、とにかくまずは動かす環境を最短で整えよう!と思ってやってみました。
  • もっと賢いやり方はあるのかもしれませんので、とりあえず早く動かしたい!という目的の人向けです。

事前準備

  • Visual Studio 2019のインストール

  • Bot Framework Emulatorのインストール

  • Azureアカウントの取得

    • サイトはこちら
      • クレジットカード登録が必要(勝手に課金されることはない)です。
      • ¥22,500分の無料クレジットがもらえます。その他12ヶ月間無料のサービスや、ずーっと無料のサービスなどもあります。
    • 学生向けはこちら
      • 学校のメールアドレスを使って登録すれば、クレジットカード登録は不要です。
      • 年間$100分の無料クレジットがもらえます。

1.Azure上へのリソースの作成

最初はローカル側でいろいろやってみていたのですが、Azure側に先にボットアプリをサンプルコードでデプロイして、そのコードをダウンロードしてきていじった方がなんだかんだシンプルだったので、その戦法で…。

まず、自分のAzureアカウントでAzureポータルへサインインします。

スクリーンショット 2020-07-23 16.23.26.png

リソースの追加をクリックし、
スクリーンショット 2020-07-23 16.25.30.png

検索ボックスでbotと入力すると出てくるWeb App Botを選択します。
スクリーンショット 2020-07-23 16.26.29.png

Web App Botの画面で作成をクリックし
スクリーンショット 2020-07-23 16.27.06.png

必要な情報を入力します。今回はAzureやBotに関する詳細は、他にたくさん記事があるので省略させていただきます。私が以前書いた記事でもちょっと取り上げていたりしますので、気になる方は見てやってください。

黒塗り部分は個人個人のものを自由に入力してOKです。
場所は自分の場所の近く、価格レベルは無料のF0を選択しています。
ボットテンプレートの部分のみ、今回はオウム返しボット(Echo Bot)をC#で作るので、この通りに選択してください。
あとはApplication Insightsというアプリの監視に関する機能は今回は不要なためオフにしております。
入力し終わったら作成をクリックして、リソースがデプロイされるのを待ちます。
スクリーンショット 2020-07-23 16.28.42.png

2.Azure上でテスト

リソースがデプロイされたら、テストしてみたくなりますよね。してみましょう。
今デプロイしたリソースの中からWebアプリボットを選択します。
スクリーンショット 2020-07-23 16.53.00.png

Webチャットでテストからチャットのテストができますので、くだらないことを話しかけて、オウム返ししてくれるか試してみましょう。
スクリーンショット 2020-07-23 16.57.44.png

3.ソースコードのダウンロード

動作確認ができたので、このソースコードをローカルのWindows環境へダウンロードしていきます。
左メニューの「概要」→「ボットソースのダウンロードをクリックします。
図2.png

アプリ設定を含めるかどうかと聞かれるのではいにしておきます。
スクリーンショット 2020-07-23 17.03.57.png

ちょっと待つとzipがダウンロードできますので、任意のフォルダで解凍しておきます。

4.ローカルでのソースコードの確認

さきほどダウンロード&解凍したフォルダの中にあるEchoBot.slnを選択すると、Visual Studio 2019が起動します。
ソリューションエクスプローラーでBotsフォルダを展開していくと、EchoBot.csの部分で、オウム返し部分のソースコードが得られます。
image.png

続いて、appsettings.jsonを開き、Microsoft App IDMicrosoft App Passwordという値があるので、あとで使うのでコピペしておきます。
image.png

5.ローカルでのテスト

Bot Framework Emulatorを使って、ローカルでテストができるようにしましょう。
Visual Studio 2019の上の方にある「▶︎ IIS Express」でプログラムを実行します。
image.png

ビルドが走るのを待って、勝手にブラウザ上でこんな画面が出てきたらOKです。
image.png

Bot Framework Emulatorを起動し、create a new bot configuration.をクリックします。
スクリーンショット 2020-07-23 17.15.02.png

ボットの接続に関する設定を入力していきます。
- Bot name:なんでもOKです。
- Endpoint URL:http://localhost:3978/api/messagesを入れます。
(正確には、http://localhost:3978の部分は先ほど「▶ IIS Express」した際ブラウザに表示されたURLとなります。大抵はhttp://localhost:3978になっているかと思います)
- Microsoft App ID:先ほどappsettings.jsonからコピペしたものを入れます。
- Microsoft App Password:先ほどappsettings.jsonからコピペしたものを入れます。
スクリーンショット 2020-07-23 17.25.55.png

全て入力したらSave and Connectをクリックしてわかりやすいところに保存します。

Bot Emulatorが開くので、試しにボットに話しかけてみて、オウム返しされたら成功です!
image.png

6.Azureにデプロイする

さてそれでは、ちょっとだけコードを変更して、Azureに再度デプロイしてみます。
一旦Visual Studio 2019の画面上の方にある「■」ボタンを押して、プログラムの実行を停止します。
image.png

そしてこんなかんじで、EchoBot.csのコードを変更し、ボットの発言ををゆるい日本語にしてみました。
image.png

変更したコードをCrtl+Sなどで保存したら、このコードをAzureにデプロイしてみます。
EchoBotのプロジェクトを右クリックし、発行をクリックし、AzureAzure App Service(Windows)の順で選択します。
途中、Azureへのサインインが要求されたら、サインインをします。
image.png

image.png

image.png

どのリソースにデプロイするのか聞かれるので、本記事中で最初に作ったリソースを選択し、完了をクリックします。
image.png

以下のような画面になるので、発行をクリックし、Azure上に発行(デプロイ)されるのを待ちます。
image.png

無事Azureにデプロイされたら、自動的にブラウザにこのような画面が表示されます。
一見「ん?さっきも見たぞ?」という画面ですが、URLを確認してhttps://設定したアプリ名.azurewebsites.netとなっていたらOKです。ローカルPC上ではなく、Azure上のアプリにアクセスしています。
image.png

7.Azureポータル上でテスト

それでは最後に、Azureポータルに戻って、2.Azure上でテストと同じ方法でテストをしてみましょう。コードの変更が反映されていたら成功です!
スクリーンショット 2020-07-23 17.56.32.png

ちなみに、2回目以降のAzureへのデプロイ時も同様に、EhcoBot右クリックからの発行で、発行ボタンをクリックすれば、前回デプロイしたリソースへデプロイ可能になっていますので、デプロイ先のリソースをいちいち選択する必要はないです。
image.png

image.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1