Azure CLI を使用して App Service リソースを作成する
この記事の対象: SDK v4
この記事では、ボットをプロビジョニングして公開するプロセスの一環として、Azure CLI と Azure Resource Manager テンプレート (ARM テンプレート) を使用して App Service リソースを作成する方法について説明します。 App Serviceは、Web アプリと呼ばれることもあります。
重要
Python ボットは、Windows サービスまたはボットを含むリソース グループにはデプロイできません。 複数の Python ボットを同じリソース グループに展開できますが、別のリソース グループに他のサービス (Azure AI サービスなど) を作成する必要があります。
- プロセス全体については、ボットをプロビジョニングして公開する方法を参照してください。
- Azure Bot リソースを作成する方法については、「Azure CLI を使用して Azure Bot リソースを作成する」を参照してください。
Note
Bot Framework JavaScript SDK、C#、Python SDK は引き続きサポートされますが、Java SDK については、最終的な長期サポートは 2023 年 11 月に終了する予定です。
Java SDK を使用して構築された既存のボットは引き続き機能します。
新しいボットを構築する場合は、Microsoft Copilot Studio の使用をご検討ください。また、適切なコパイロット ソリューションの選択に関する記事もお読みください。
詳細については、「The future of bot building」をご覧ください。
前提条件
Azure CLI を使用してボットをプロビジョニングおよび公開するには、次のものが必要です。
アクティブなサブスクリプションが含まれる Azure アカウント。 無料アカウントを作成します。
-
プログラミング言語には、次のバージョンの Azure CLI を使用します。 一部の手順は、新しいバージョンの CLI では機能しません。
Language CLI のバージョン C# および JavaScript 2.39.0 以降 Python 2.55.0 またはそれ以降 Java 2.29.2
このプロセスでは、Azure Resource Manager テンプレート (ARM テンプレート) を使用して、ボット用の App Service リソースを作成します。
現在のテンプレートがない場合は、deploymentTemplates フォルダー (C#、JavaScript、Python、または Java) のボット プロジェクトにコピーを作成します。
ヒント
これは、ボットをプロビジョニングして公開する大きなプロセスの一部です。 前提条件の完全リストについては、「ボットをプロビジョニングして公開する」方法を参照してください。
パラメーター ファイルを編集する
ARM テンプレートのパラメーター ファイルを編集して、使用する値を含めます。
重要
App Service リソースと Azure Bot リソースに同じ appType
値を使用する必要があります。
プロジェクトに最新の ARM テンプレートとパラメーター ファイルがまだ含まれていない場合は、言語 (C#、JavaScript、Python、または Java) 用の Bot Framework SDK リポジトリからコピーできます。
次の表では、parameters
コマンド オプションで使用するパラメーター ファイルの展開パラメーターについて説明します。
既定では、パラメーター ファイルの名前は parameters-for-template-BotApp-with-rg.json です。
パラメーター | 型 | 説明 |
---|---|---|
appServiceName |
String | 必須。 App Service のグローバルに一意な名前。 |
existingAppServicePlanName |
String | 省略可能。 ボットの App Service を作成する既存の App Service プランの名前。 |
existingAppServicePlanLocation |
String | 省略可能。 既存の App Service プランの場所。 |
newAppServicePlanName |
String | 省略可能。 新規の App Service プランの名前。 |
newAppServicePlanLocation |
String | 省略可能。 新規の App Service プランの場所。 |
newAppServicePlanSku |
Object | 省略可能。 新規の App Service プランの SKU。 既定値は S1 (Standard) サービス プランです。 |
appType |
String | 必須。 ボット リソースの ID を管理する方法 使用できる値: "MultiTenant"、"SingleTenant"、および "UserAssignedMSI"。 既定値は "MultiTenant" です。 |
appId |
String | 必須。 前に作成した ID リソースのクライアント ID またはアプリ ID。 これは、App Service の Microsoft アプリ ID として使用されます。 |
appSecret |
String | 省略可能。 アプリの種類がシングルテナントとマルチテナントの場合は、ID リソースのパスワード。 |
UMSIName |
String | 省略可能。 ユーザー割り当てマネージド ID アプリタイプの場合、ID リソースの名前。 |
UMSIResourceGroupName |
String | 省略可能。 ユーザー割り当てマネージド ID アプリタイプの場合、ID リソースのリソース グループ。 |
tenantId |
String | 省略可能。 アプリの種類がユーザー割り当てマネージド ID とシングルテナントの場合は、ID リソースの Microsoft Entra ID テナント ID。 |
すべてのパラメーターが、すべてのアプリの種類に適用されるわけではありません。
UMSIName
、UMSIResourceGroupName
、およびtenantId
の値を指定します。appSecret
は空白のままにします。
一部のパラメーターは、既存または新規の App Service プランの使用に固有のものです。
existingAppServicePlanName
とexistingAppServicePlanLocation
の値を指定します。newAppServicePlanName
、newAppServicePlanLocation
、およびnewAppServicePlanSku
は空白のままにします。
App Service を作成する
ボットの App Service を作成します。
az deployment group create --resource-group <resource-group> --template-file <template-file-path> --parameters "@<parameters-file-path>"
オプション | 説明 |
---|---|
resource-group | App Service を作成する Azure リソース グループの名前。 |
template-file | App Service の ARM テンプレートへのパス。 相対パスと絶対パスのどちらでも構いません。 |
parameters | ARM テンプレートで使用するパラメーター ファイルへのパス。 相対パスと絶対パスのどちらでも構いません。 |
最新のジェネレーターを使用して作成されたプロジェクトの場合、ARM テンプレートとパラメーター ファイルはプロジェクト内の DeploymentTemplates\DeployUseExistResourceGroup フォルダーにあります。 既定のファイル名は template-BotApp-with-rg.json と parameters-for-template-BotApp-with-rg.json です。
ヒント
- App Service のベース URL は App Service 名に基づいており、
https:<app-service-name>.azurewebsites.net
のようになります。 - ボットのメッセージング エンドポイントは、ベース URL に
/api/messages
を加えたものになります (例:https:<app-service-name>.azurewebsites.net/api/messages
)。
追加情報
ARM テンプレートの詳細については、「ARM テンプレートとは」および「Azure CLIで Azure Resource Manager (ARM) 展開テンプレートを使用する方法」を参照してください。
次のステップ
ボット展開の一部として App Service を作成した場合は、「ARM テンプレートを使用してリソースを作成する」を参照してプロセスを続行します。