5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Check! `az bot create` で Bot Service を新規作成する

Posted at

こんにちは、 @dz_ こと大平かづみです。

Prologue - はじめに

いつのころからか、 Azure CLI で az bot サブコマンドがつかえるようになりました!

Bot Service の新規作成、ソースコードのダウンロードやデプロイ、チャンネルの管理などができるようです。

なお、現段階では、 botservice の拡張機能をインストールしておくと吉です。(ここでは書きませんが、 az bot download.env ファイルが自動で作成されるなど便利です♪)

References

Azure CLI の az bot をつかって、Bot Service を新規作成する

まず手始めに、 Azure CLI で Bot Service を新規作成してみましょう。

事前準備

アカウントはそれぞれ準備してください。

botservice の拡張機能のインストールは、下記のコマンドで行えます。

# Azure CLI に botservice の拡張機能を追加する
az extension add --name botservice

大まかな流れ

  • Application Registration Portal でアプリケーションを追加する
  • 追加したアプリケーションのパスワードを発行する
  • az bot コマンドで Bot Service を新規作成する

手順

まず、アプリケーションを登録しましょう。

Application Registration Portal にアクセスし、「Add an app」ボタンをクリックします。

image.png

Application Name に任意のアプリケーション名を入力し、「Create」ボタンをクリックします。

image.png

作成ができると、以下の画面に遷移します。ここで Application Id が表示されるので、控えておいてください。そして、「Generate New Password」ボタンをクリックし、パスワードを発行します。

image.png

発行されたパスワードが表示されるので、控えておいてください。なお、このパスワードはこのタイミングでしか表示されないので、お気を付けください。もし忘れてしまった場合は、再度発行してください。

image.png

ここまでで、 Application IdApplication Secret(password) が用意できました。

それでは、 az bot create で Bot Service を作成しましょう。ここでは、以下の条件で作成します。先ほど控えた Application Idpassword を指定して、下記のコマンドを実行します。

項目
Bot Service の種類 Web App
Bot Framework バージョン v4
言語 Node.js
# 各種変数を定義する(任意)
RESOURCE_GROUP=<リソースグループ名>
BOTSERVICE_NAME=<Bot Service の名前>
LOCATION=japaneast

# まずリソースグループを作成する
az group create --name ${RESOURCE_GROUP}

# Bot Service を作成する
az bot create --resource-group ${RESOURCE_GROUP} --name ${BOTSERVICE_NAME} --kind webapp --location ${LOCATION} --lang Node --version v4 --appid <Application Id> --password <Application Secret>

コマンドの実行が完了すると、以下のようなリソースが作成されます。(※ Azure ポータル上のリソース一覧のキャプチャです。)

image.png

なお、 「App Service プラン」は Web App の料金体系などを定めるリソースです。リソース名は Bot Service と同名です。このプランには無料( FREE )もあるのですが、ここでは S1 で作成されるので、変えたい方はポータルから変えるか、またはCLIで以下のように変更できます。

# App Service プランのプランを変更する
az appservice plan update --resource-group ${RESOURCE_GROUP} --name ${BOTSERVICE_NAME} --sku FREE

ここまでで、 Bot Service を新規作成できました。簡単ですね!

トラブルシューティング

MSA id の自動プロビジョンができない

az bot create は、 --appid および --password を指定しない場合、下記のように、MSA id (Microsoft Account ID) が準備できませんでしたというエラーが発生することがあります。

Unable to provision MSA id automatically. Please pass them in as parameters and try again.

実は、Azure ポータルで Bot Service を新規作成するときは、 App ID を自動で新規作成してくれて便利なので、ここでもそれを期待したのですが、これはそういうものではないようです。残念。

ということで、現段階ではおとなしく Application Registration Portal でアプリケーションを手動で登録するか、そもそも Bot Service の作成は Azure ポータル上で行う( App ID を自動生成できる)方法がよさそうです。

なお、App ID の自動生成について調べたところ、 REST API もあるようですが、まだ beta 版であることと、アクセストークンを取得して云々と手間がかかりそうなので諦めました。

Epilogue - おわりに

az bot create で意気揚々と App Id も自動作成して、あらカンタン!という流れを想像していたのですが、それができなくて残念です。

ですが、実は、 az bot コマンドの真の魅力は create ではなく、 downloadpublish なのです!ふふふ!

次回改めてまとめようと思います(`・ω・´) 

5
2
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
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?