使用 Azure CLI 建立 App Service 資源
適用於: SDK v4
本文說明如何使用 Azure CLI 和 Azure Resource Manager 範本 (ARM 範本) 建立 App Service 資源,作為布建和發布 Bot 程式的一部分。 App Service 有時稱為 Web 應用程式。
重要
Python Bot 無法部署到包含 Windows 服務或 Bot 的資源群組。 多個 Python Bot 可以部署到相同的資源群組;不過,您必須在另一個資源群組中建立其他服務(例如 Azure AI 服務)。
- 如需完整程式的相關信息,請參閱如何 布建和發佈 Bot。
- 如需如何建立 Azure Bot 資源的資訊,請參閱 使用 Azure CLI 建立 Azure Bot 資源。
注意
Bot Framework JavaScript、C# 和 Python SDK 將會繼續受到支援,不過,Java SDK 即將淘汰,最終長期支援將於 2023 年 11 月結束。
使用 Java SDK 建置的現有 Bot 將繼續運作。
針對新的 Bot 建置,請考慮使用 Microsoft Copilot Studio ,並閱讀 選擇正確的 Copilot 解決方案。
如需詳細資訊,請參閱 Bot 建置的未來。
必要條件
若要使用 Azure CLI 來布建和發佈 Bot,您需要:
具有有效訂用帳戶的 Azure 帳戶。 建立免費帳戶。
Azure CLI 的安裝。
針對您的程式設計語言,請使用下列版本的 Azure CLI。 某些步驟不適用於較新版本的 CLI。
語言 CLI 版本 C# 和 JavaScript 2.39.0 或更新版本 Python 2.55.0 或更新版本 Java 2.29.2
此程式會使用 Azure Resource Manager 範本(ARM 範本)為您的 Bot 建立 App Service 資源。
如果您沒有目前的範本,請在 deploymentTemplates 資料夾的 Bot 專案中建立複本:C#、JavaScript、Python 或 Java。
提示
這是布建和發佈 Bot 之較大程式的一部分。 如需必要條件的完整清單,請參閱如何 布建和發佈 Bot 。
編輯參數檔案
編輯 ARM 範本的參數檔案,以包含您想要使用的值。
重要
您必須針對 App Service 和 Azure Bot 資源使用相同的 appType
值。
如果您的專案尚未包含最新的 ARM 範本和參數檔案,您可以從適用於您語言的 Bot Framework SDK 存放庫複製它們: C#、 JavaScript、 Python 或 Java。
下表描述 參數檔案中的部署參數 ,以搭配 parameters
命令選項使用。
根據預設,參數檔案的名稱是 parameters-for-template-BotApp-with-rg.json。
參數 | 類型 | 描述 |
---|---|---|
appServiceName |
String | 必要。 App Service 的全域唯一名稱。 |
existingAppServicePlanName |
String | 選擇性。 要為其建立 Bot 應用程式服務的現有 App Service 方案名稱。 |
existingAppServicePlanLocation |
String | 選擇性。 現有App Service 方案的位置。 |
newAppServicePlanName |
String | 選擇性。 新 App Service 方案的名稱。 |
newAppServicePlanLocation |
String | 選擇性。 新 App Service 方案的位置。 |
newAppServicePlanSku |
Object | 選擇性。 新 App Service 方案的 SKU。 預設值為 S1 (標準) 服務方案。 |
appType |
String | 必要。 Bot 資源的身分識別如何管理。 允許的值:「MultiTenant」、“SingleTenant” 和 “UserAssignedMSI”。 預設值為 「MultiTenant」。 |
appId |
String | 必要。 您稍早建立之身分識別資源的用戶端識別碼或應用程式識別碼。 這會作為應用程式服務的Microsoft應用程式標識碼。 |
appSecret |
String | 選擇性。 對於單一租使用者和多租使用者應用程式類型,則為身分識別資源的密碼。 |
UMSIName |
String | 選擇性。 針對使用者指派的受控識別應用程式類型,識別資源的名稱。 |
UMSIResourceGroupName |
String | 選擇性。 針對使用者指派的受控識別應用程式類型,識別資源的資源群組。 |
tenantId |
String | 選擇性。 針對使用者指派的受控識別和單一租使用者應用程式類型,Microsoft身分識別資源的 Entra ID 租使用者標識符。 |
並非所有參數都適用於所有應用程式類型。
- 提供、
UMSIResourceGroupName
和tenantId
的值UMSIName
。 - 保留
appSecret
空白。
某些參數是使用現有或新的 App Service 方案的特定參數。
- 提供和
existingAppServicePlanLocation
的值existingAppServicePlanName
。 - 保留
newAppServicePlanName
、newAppServicePlanLocation
和newAppServicePlanSku
空白。
建立應用程式服務
為您的 Bot 建立 App Service。
az deployment group create --resource-group <resource-group> --template-file <template-file-path> --parameters "@<parameters-file-path>"
選項 | 描述 |
---|---|
資源群組 | 要在其中建立App Service 的 Azure 資源群組名稱。 |
template-file | 應用程式服務的 ARM 範本路徑。 路徑可為相對路徑或絕對路徑。 |
parameters | 要與 ARM 範本搭配使用的參數檔案路徑。 路徑可為相對路徑或絕對路徑。 |
對於使用最新產生器建立的專案,ARM 範本和參數檔案位於 專案的 DeploymentTemplates\DeployUseExistResourceGroup 資料夾中。 默認檔名為 template-BotApp-with-rg.json 和 parameters-for-template-BotApp-with-rg.json。
提示
- 應用程式服務的基底 URL 是以 App Service 名稱為基礎:
https:<app-service-name>.azurewebsites.net
。 - Bot 的傳訊端點會是基底 URL 加上
/api/messages
,例如https:<app-service-name>.azurewebsites.net/api/messages
。
其他資訊
如需 ARM 範本的詳細資訊,請參閱 什麼是 ARM 範本? 以及如何 搭配 Azure CLI 使用 Azure Resource Manager (ARM) 部署範本。
下一步
如果您已建立 App Service 作為 Bot 部署的一部分,請參閱 使用 ARM 範本 建立資源以繼續程式。