この記事の対象: SDK v4
この記事では、ボットをプロビジョニングして公開するプロセスの一環として、Azure CLI と Azure Resource Manager テンプレート (ARM テンプレート) を使用して App Service リソースを作成する方法について説明します。 App Serviceは、Web アプリと呼ばれることもあります。
重要
Python ボットは、Windows サービスまたはボットを含むリソース グループにはデプロイできません。 複数の Python ボットを同じリソース グループに展開できますが、別のリソース グループに他のサービス (Azure AI サービスなど) を作成する必要があります。
- プロセス全体については、ボットをプロビジョニングして公開する方法を参照してください。
- Azure Bot リソースを作成する方法については、「Azure CLI を使用して Azure Bot リソースを作成する」を参照してください。
注
AI サービス、オーケストレーション、知識を選択してエージェントを構築するには、Microsoft 365 Agents SDK の使用を検討してください。 Agents SDK では、C#、JavaScript、または Python がサポートされています。 Agents SDK の詳細については、 aka.ms/agents を参照してください。 SaaS ベースのエージェント プラットフォームをお探しの場合は、 Microsoft Copilot Studio を検討してください。 Bot Framework SDK を使用して構築された既存のボットがある場合は、ボットを Agents SDK に更新できます。 Bot Framework SDK から Agents SDK への移行ガイダンスで、主要な変更と更新プログラムを確認できます。 Bot Framework SDK のサポート チケットは、2025 年 12 月 31 日の時点で提供されなくなります。
前提条件
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 |
糸 | 必須。 App Service のグローバルに一意な名前。 |
existingAppServicePlanName |
糸 | 省略可能。 ボットの App Service を作成する既存の App Service プランの名前。 |
existingAppServicePlanLocation |
糸 | 省略可能。 既存の App Service プランの場所。 |
newAppServicePlanName |
糸 | 省略可能。 新規の App Service プランの名前。 |
newAppServicePlanLocation |
糸 | 省略可能。 新規の App Service プランの場所。 |
newAppServicePlanSku |
オブジェクト | 省略可能。 新規の App Service プランの SKU。 既定値は S1 (Standard) サービス プランです。 |
appType |
糸 | 必須。 ボット リソースの ID を管理する方法 使用できる値: "MultiTenant"、"SingleTenant"、および "UserAssignedMSI"。 既定値は "MultiTenant" です。 |
appId |
糸 | 必須。 前に作成した ID リソースのクライアント ID またはアプリ ID。 これは、App Service の Microsoft アプリ ID として使用されます。 |
appSecret |
糸 | 省略可能。 アプリの種類がシングルテナントとマルチテナントの場合は、ID リソースのパスワード。 |
UMSIName |
糸 | 省略可能。 ユーザー割り当てマネージド ID アプリタイプの場合、ID リソースの名前。 |
UMSIResourceGroupName |
糸 | 省略可能。 ユーザー割り当てマネージド ID アプリタイプの場合、ID リソースのリソース グループ。 |
tenantId |
糸 | 省略可能。 アプリの種類がユーザー割り当てマネージド 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>"
| オプション | 説明 |
|---|---|
| リソースグループ | App Service を作成する Azure リソース グループの名前。 |
| テンプレートファイル | App Service の ARM テンプレートへのパス。 相対パスと絶対パスのどちらでも構いません。 |
| パラメーター | 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 テンプレートを使用してリソースを作成する」を参照してプロセスを続行します。