建立 Azure Resource Manager 範本以自動部署用於 Azure Logic Apps 的取用邏輯應用程式

適用於:Azure Logic Apps (使用量)

為了協助您自動建立和部署取用邏輯應用程式,本文說明您可以建立 Azure Resource Manager 範本的方式。 Azure Logic Apps 也提供您可重複使用的預建邏輯應用程式 Azure Resource Manager 範本,不僅可用來建立取用邏輯應用程式,也可以定義用於部署的資源和參數。 您可以在自己的商務案例中使用此範本,或自訂此範本以符合您的需求。 如需範本的結構和語法概觀,其中包含工作流程定義和其他部署所需的資源,請參閱概觀:使用 Azure Resource Manager 範本自動部署邏輯應用程式

重要事項

本文僅適用於取用邏輯應用程式,不適用於標準邏輯應用程式。 確定您範本中的連線使用與邏輯應用程式相同的 Azure 資源群組和位置。

如需 Azure Resource Manager 範本的詳細資訊,請參閱下列主題:

使用 Visual Studio 建立範本

若要以最輕鬆的方式建立最方便部署的有效參數化邏輯應用程式範本,請使用 Visual Studio (免費的 Community 版本或更新版本),以及適用於 Visual Studio 的 Azure Logic Apps Tools。 然後,您可以在 Visual Studio 中建立邏輯應用程式,或從 Azure 入口網站尋找現有的邏輯應用程式並將其並下載到 Visual Studio

下載邏輯應用程式,您即可取得範本,其中包含邏輯應用程式和其他資源 (例如連線) 的定義。 此範本也會將用於部署邏輯應用程式和其他資源的值「參數化」,或定義參數。 您可以在個別的 parameters 檔案中提供這些參數的值。 如此一來,您就可以根據部署需求更輕鬆地變更這些值。 如需詳細資訊,請參閱下列主題:

使用 Azure PowerShell 建立範本

您可使用 Azure PowerShell 搭配 LogicAppTemplate 模組來建立 Resource Manager 範本。 此開放原始碼模組會先評估邏輯應用程式,以及邏輯應用程式使用的任何連線。 此模組接著會使用部署所需的參數來產生範本資源。

例如,假設您有邏輯應用程式可從 Azure 服務匯流排佇列接收訊息,並將資料上傳至 Azure SQL Database。 此模組會保留所有協調流程邏輯,並將 SQL 和服務匯流排連接字串參數化,以便根據部署需求提供和變更這些值。

這些範例示範如何使用 Azure Resource Manager 範本、Azure DevOps 中的 Azure Pipelines,以及 Azure PowerShell 來建立和部署邏輯應用程式:

安裝 PowerShell 模組

  1. 安裝 Azure PowerShell (如果尚未安裝)。

  2. 如需從 PowerShell 資源庫安裝 LogicAppTemplate 模組的最簡單方式,請執行以下命令:

    Install-Module -Name LogicAppTemplate
    

    若要更新為最新版本,請執行此命令:

    Update-Module -Name LogicAppTemplate
    

或者,若要手動安裝,請遵循 GitHub 中適用於邏輯應用程式範本建立者的步驟。

安裝 Azure Resource Manager 用戶端

若要讓 LogicAppTemplate 模組搭配任何 Azure 租用戶和訂用帳戶存取權杖運作,請安裝 Azure Resource Manager 用戶端工具,這是呼叫 Azure Resource Manager API 的簡單命令列工具。

當您使用此工具執行 Get-LogicAppTemplate 命令時,命令會先透過 ARMClient 工具取得存取權杖、將權杖傳輸至 PowerShell 指令碼,並將範本建立為 JSON 檔案。 如需工具的詳細資訊,請參閱本文中的 Azure Resource Manager 用戶端工具

使用 PowerShell 產生範本

若要在安裝 LogicAppTemplate 模組和 Azure CLI 之後產生範本,請執行以下 PowerShell 命令:

$parameters = @{
    Token = (az account get-access-token | ConvertFrom-Json).accessToken
    LogicApp = '<logic-app-name>'
    ResourceGroup = '<Azure-resource-group-name>'
    SubscriptionId = $SubscriptionId
    Verbose = $true
}

Get-LogicAppTemplate @parameters | Out-File C:\template.json

若要從 Azure Resource Manager 用戶端工具遵循權杖中管線的建議,請改為執行此命令,其中 $SubscriptionId 是您的 Azure 訂用帳戶識別碼:

$parameters = @{
    LogicApp = '<logic-app-name>'
    ResourceGroup = '<Azure-resource-group-name>'
    SubscriptionId = $SubscriptionId
    Verbose = $true
}

armclient token $SubscriptionId | Get-LogicAppTemplate @parameters | Out-File C:\template.json

擷取之後,您可以執行以下命令,接著從範本建立 parameters 檔案:

Get-ParameterTemplate -TemplateFile $filename | Out-File '<parameters-file-name>.json'

若要使用 Azure 金鑰保存庫參考進行擷取 (僅限靜態),請執行以下命令:

Get-ParameterTemplate -TemplateFile $filename -KeyVault Static | Out-File $fileNameParameter
參數 必要 描述
TemplateFile 範本檔案的檔案路徑
KeyVault 描述如何處理可能的金鑰保存庫值的列舉。 預設值為 None

後續步驟