Azure CLI を使用して Azure Bot リソースを作成または更新する

この記事の対象: SDK v4

この記事では、Azure CLI と Azure Resource Manager テンプレート (ARM テンプレート) を使用して Azure Bot リソースを作成または更新する方法について説明します。

これは、ボットをプロビジョニングして公開する大きなプロセスの一部です。

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.36.0
    Java 2.29.2
  • このプロセスでは、Azure Resource Manager テンプレート (ARM テンプレート) を使用して、ボット用の Azure Bot リソースを作成します。

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

ヒント

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

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

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

重要

App Service と Azure Bot のリソースを作成するときは、同じ appType および appId 値を使用する必要があります。

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

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

パラメーター 説明
azureBotId String 必須。 ボットに対してグローバルに一意で不変のハンドル (ContosoCustomerService など)。
azureBotSku String 省略可能。 Azure Bot リソースの SKU。 使用できる値: "F0" (free) と "S1" (Standard)。 デフォルトは "S1" です。
azureBotRegion String 省略可能。 Azure Bot の場所 許可された値: 「global」、「westeurope」、「westus」、「centralindia」。 デフォルトは "global" です。
botEndpoint String 省略可能。 ボットのメッセージング エンドポイント (https://<appServiceName>.azurewebsites.net/api/messages など)。
appType String 必須。 ボット リソースの ID を管理する方法。 使用できる値: "MultiTenant"、"SingleTenant"、および "UserAssignedMSI"。 デフォルトは "MultiTenant" です。
appId String 必須。 前に作成した ID リソースのクライアント ID またはアプリ ID。 これは、App Service の Microsoft アプリ ID です。
UMSIName String 省略可能。 ユーザー割り当てマネージド ID アプリタイプの場合、ID リソースの名前。
UMSIResourceGroupName String 省略可能。 ユーザー割り当てマネージド ID アプリタイプの場合、ID リソースのリソース グループ。
tenantId String 省略可能。 ユーザー割り当てマネージド ID とシングルテナント アプリ タイプの場合、ID リソースの Microsoft Entra ID テナント ID。

ヒント

公開されたボットがメッセージを受信できるようにするには、まず最初にボットのメッセージング エンドポイントを設定する必要があります。

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

UMSINameUMSIResourceGroupNametenantId の値を指定します。

Azure Bot リソースの作成

ボットに対して Azure Bot リソースを作るには、次のコマンドを使います。

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 です。

Azure Bot リソースを更新するには

Azure Bot のメッセージング エンドポイントを追加または更新するには、次のコマンドを使用します。

az bot update --resource-group <resource group> --name <azureBotId> --endpoint <messaging-endpoint>
オプション 説明
resource-group App Service が含まれている Azure リソース グループの名前
name ボットのグローバルに一意で不変のハンドル。
endpoint ボットのメッセージング エンドポイント (https://<appServiceName>.azurewebsites.net/api/messages など)。

追加情報

ARM テンプレートの詳細については、「ARM テンプレートとは」および「Azure CLIで Azure Resource Manager (ARM) 展開テンプレートを使用する方法」を参照してください。

次のステップ

ボット展開の一部として App Service を作成した場合は、「ARM テンプレートを使用してリソースを作成する」を参照してプロセスを続行します。