Share via


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 SDK、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 では機能しません。

    Language CLI のバージョン
    C# および JavaScript 2.39.0 以降
    Python 2.55.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 です。

パラメーター 説明
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。

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

  • 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 テンプレートを使用してリソースを作成する」を参照してプロセスを続行します。