Bot Framework Composer が GA されたので使ってみたら、Azure Bot Service へのデプロイで躓いたという話。
【2020/6/18 追記】
https://qiita.com/tfukumori/items/6090dbaf3f79b7682516 に対処方法があります。
@tfukumoriさん、ありがとうございました。
環境
ツール | バージョン |
---|---|
Bot Framework Composer ※ | 1.0.1 |
Azure CLI | 2.7.0 |
.NET Core | 3.1 |
※ Web版とデスクトップ版の両方で試しました。
Azureでプロビジョニング
Bot Framework Composer には、Azureでプロビジョニングするためのスクリプトが含まれており、その使い方は https://docs.microsoft.com/en-us/composer/how-to-publish-bot に記載がある。BOTプロジェクトのフォルダにあるREADMEファイルを見ろとも書いてあるので、先ずは従いましょう。
cd C:\Users\UserName\Documents\Composer\BotName\scripts
npm install
node provisionComposer.js --subscriptionId=<AzureサブスクリプションID> --name=<リソースグループ名> --appPassword=<アプリのパスワード> --environment=<環境名>
項目 | 値 |
---|---|
AzureサブスクリプションID | AzureリソースにあるサブスクリプションIDを確認 |
リソースグループ名 | 任意の名前で |
アプリのパスワード | 英数字と特殊文字を含む16文字以上 |
環境名 | 省略するとdevを仮定。リソースグループ名のサフィックスになる |
node provisionComposer.js --subscriptionId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --name=CHATBOT --appPassword=yyyyyyyyyyyyyyyy --environment=DEV
Login to Azure:
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code ZZZZZZZZZ to authenticate.
続いて、表示された9桁のコードを https://microsoft.com/devicelogin に入力して認証を完了します。
> Using Tenant ID: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
> Creating App Registration ...
User was not found.
** Provision failed **
ところが、ユーザが見つからないと言われて失敗します。
調べてみると、気になる投稿をいくつか見つけました。
- https://github.com/microsoft/BotFramework-Composer/issues/3324
- https://github.com/Azure/azure-sdk-for-node/issues/1821
記事中に出てくる Live ID とか Hotmail ID は個人アカウントで、今の Microsoftアカウントのことです。
そして、今回使ったのも Microsoftアカウントでした。
言及されているテナント情報ですが、MicrosoftアカウントはMicrosoftが管理し、Azure ADアカウント(組織アカウント)は組織が管理するという違いがあります。
そこで試しに、会社が契約するAzure ADアカウントのサブスクリプションIDを指定したところ、あっさり上手くいきました!
テナントに問題があったのか理由は定かではありませんが、今回はAzure ADアカウントで開発を続けることにします。