Create Azure Resource Manager templates to automate Consumption logic app deployment for Azure Logic Apps
Applies to: Azure Logic Apps (Consumption)
To help you automatically create and deploy a Consumption logic app, this article describes the ways that you can create an Azure Resource Manager template. Azure Logic Apps also provides a prebuilt logic app Azure Resource Manager template that you can reuse, not only to create Consumption logic apps, but also to define the resources and parameters for deployment. You can use this template for your own business scenarios or customize the template to meet your requirements. For an overview about the structure and syntax for a template that contains a workflow definition and other resources necessary for deployment, see Overview: Automate deployment for logic apps with Azure Resource Manager templates.
Important
This article applies only to Consumption logic apps, not Standard logic apps. Make sure that connections in your template use the same Azure resource group and location as your logic app.
For more information about Azure Resource Manager templates, see the following topics:
- Azure Resource Manager template structure and syntax
- Author Azure Resource Manager templates
- Develop Azure Resource Manager templates for cloud consistency
Create templates with Azure PowerShell
You can create Resource Manager templates by using Azure PowerShell with the LogicAppTemplate module. This open-source module first evaluates your logic app and any connections that the logic app uses. The module then generates template resources with the necessary parameters for deployment.
For example, suppose you have a logic app that receives a message from an Azure Service Bus queue and uploads data to Azure SQL Database. The module preserves all the orchestration logic and parameterizes the SQL and Service Bus connection strings so that you can provide and change those values based on your deployment needs.
These samples show how to create and deploy logic apps by using Azure Resource Manager templates, Azure Pipelines in Azure DevOps, and Azure PowerShell:
- Sample: Orchestrate Azure Pipelines by using Azure Logic Apps
- Sample: Connect to Azure Storage accounts from Azure Logic Apps and deploy with Azure Pipelines in Azure DevOps
- Sample: Connect to Azure Service Bus queues from Azure Logic Apps and deploy with Azure Pipelines in Azure DevOps
- Sample: Set up an Azure Functions action for Azure Logic Apps and deploy with Azure Pipelines in Azure DevOps
- Sample: Connect to an integration account from Azure Logic Apps and deploy with Azure Pipelines in Azure DevOps
Install PowerShell modules
If you haven't already, install Azure PowerShell.
For the easiest way to install the LogicAppTemplate module from the PowerShell Gallery, run this command:
Install-Module -Name LogicAppTemplate
To update to the latest version, run this command:
Update-Module -Name LogicAppTemplate
Or, to install manually, follow the steps in GitHub for Logic App Template Creator.
Install Azure Resource Manager client
For the LogicAppTemplate module to work with any Azure tenant and subscription access token, install the Azure Resource Manager client tool, which is a simple command line tool that calls the Azure Resource Manager API.
When you run the Get-LogicAppTemplate
command with this tool, the command first gets an access token through the ARMClient tool, pipes the token to the PowerShell script, and creates the template as a JSON file. For more information about the tool, see this article about the Azure Resource Manager client tool.
Generate template with PowerShell
To generate your template after installing the LogicAppTemplate module and Azure CLI, run this PowerShell command:
$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
To follow the recommendation for piping in a token from the Azure Resource Manager client tool, run this command instead where $SubscriptionId
is your Azure subscription ID:
$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
After extraction, you can then create a parameters file from your template by running this command:
Get-ParameterTemplate -TemplateFile $filename | Out-File '<parameters-file-name>.json'
For extraction with Azure Key Vault references (static only), run this command:
Get-ParameterTemplate -TemplateFile $filename -KeyVault Static | Out-File $fileNameParameter
Parameters | Required | Description |
---|---|---|
TemplateFile | Yes | The file path to your template file |
KeyVault | No | An enum that describes how to handle possible key vault values. The default is None . |