Azure CLI を使用して App Service リソースを作成する

この記事の対象: SDK v4

この記事では、ボットをプロビジョニングして公開するプロセスの一環として、Azure CLI と Azure Resource Manager テンプレート (ARM テンプレート) を使用して App Service リソースを作成する方法について説明します。 App Serviceは、Web アプリと呼ばれることもあります。

重要

Python ボットは、Windows サービスまたはボットを含むリソース グループにはデプロイできません。 複数の Python ボットを同じリソース グループに展開できますが、別のリソース グループに他のサービス (Azure AI サービスなど) を作成する必要があります。

Note

Bot Framework JavaScript、C# および Python SDK は引き続きサポートされますが、Java SDK は、2023 年 11 月に終了する最終的な長期サポートとともに廃止される予定です。 このリポジトリ内の重要なセキュリティとバグの修正のみが行われます。

Java SDK を使用して構築された既存のボットは引き続き機能します。

新しいボットの構築については、Power Virtual Agents の使用を検討し、適切なチャットボット ソリューションの選択についてお読みください。

詳細については、「The future of bot building」をご覧ください。

前提条件

Azure CLI を使用してボットをプロビジョニングおよび発行するには、以下のものが必要です。

  • アクティブなサブスクリプションが含まれる Azure アカウント。 無料アカウントを作成します

  • Azure CLI のインストール

    プログラミング言語には、次のバージョンの Azure CLI を使用します。 一部の手順は、新しいバージョンの CLI では機能しません。

    言語 CLI のバージョン
    C# および JavaScript 2.39.0 以降
    Python 2.36.0
    Java 2.29.2
  • このプロセスでは、Azure Resource Manager テンプレート (ARM テンプレート) を使用して、ボット用の App Service リソースを作成します。

    現在のテンプレートがない場合は、deploymentTemplates フォルダー (C#JavaScriptPython、または Java) のボット プロジェクトにコピーを作成します。

ヒント

これは、ボットをプロビジョニングして公開する大きなプロセスの一部です。 前提条件の完全な一覧については、ボットをプロビジョニングして公開する方法を参照してください。

パラメーター ファイルを編集する

ARM テンプレートのパラメーター ファイルを編集して、使用する値を含めます。

重要

App Service リソースと Azure Bot リソースに同じ appType 値を使用する必要があります。

プロジェクトに最新の ARM テンプレートとパラメーター ファイルがまだ含まれていない場合は、言語 (C#JavaScriptPython、または Java) 用の Bot Framework SDK リポジトリからコピーできます。

次の表では、parameters コマンド オプションで使用するパラメーター ファイルの展開パラメーターについて説明します。 既定では、パラメーター ファイルの名前は parameters-for-template-BotApp-with-rg.json です。

パラメーター Type Description
appServiceName String 必須。 App Service のグローバルに一意な名前。
existingAppServicePlanName String 省略可能。 ボットの App Service を作成する既存の App Service プランの名前。
existingAppServicePlanLocation String 省略可能。 既存の App Service プランの場所。
newAppServicePlanName String 省略可能。 新規の App Service プランの名前。
newAppServicePlanLocation String 省略可能。 新規の App Service プランの場所。
newAppServicePlanSku オブジェクト 省略可能。 新規の 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。

すべてのパラメーターが、すべてのアプリの種類に適用されるわけではありません。

  • UMSINameUMSIResourceGroupName、および tenantId の値を指定します。
  • appSecret は空白のままにします。

一部のパラメーターは、既存または新規の App Service プランの使用に固有のものです。

  • existingAppServicePlanNameexistingAppServicePlanLocation の値を指定します。
  • newAppServicePlanNamenewAppServicePlanLocation、および 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.jsonparameters-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 テンプレートを使用してリソースを作成する」を参照してプロセスを続行します。