Export Consumption workflows to a Standard logic app (Preview)
Standard logic app workflows, which run in single-tenant Azure Logic Apps, offer many new and improved capabilities. For example, you get compute isolation, virtual network integration, and private endpoints along with App Services Environment hosting, local development and debugging using Visual Studio Code, low latency with stateless workflows, and more.
If you want the benefits from Standard workflows, but your workflows run in multi-tenant Azure Logic Apps, you can now move your Consumption workflows to single-tenant Azure Logic Apps. This switch makes sense in scenarios that require some of the Standard capabilities such as isolation and network integration, lower latency or better predictability of costs.
You can now export Consumption logic apps to a Standard logic app. Using Visual Studio Code and the latest Azure Logic Apps (Standard) extension, you export your logic apps as stateful workflows to a Standard logic app project. You can then locally update, test, and debug your workflows to get them ready for redeployment. When you're ready, you can deploy either directly from Visual Studio Code or through your own DevOps process.
The export capability doesn't migrate your workflows. Instead, this tool replicates artifacts, such as workflow definitions, connections, integration account artifacts, and others. Your source logic app resources, workflows, trigger history, run history, and other data stay intact.
You control the export process and your migration journey. You can test and validate your exported workflows to your satisfaction with the destination environment. You choose when to disable or delete your source logic apps.
This article provides information about the export process and shows how to export your logic app workflows from an ISE to a local Standard logic app project in Visual Studio Code.
Known issues and limitations
The following logic apps and scenarios are currently ineligible for export:
- Logic apps that use custom connectors
- Logic apps that use the Azure API Management connector
The export tool doesn't export any infrastructure information, such as integration account settings.
The export tool can export logic app workflows with triggers that have concurrency settings. However, single-tenant Azure Logic Apps ignores these settings.
Logic apps must exist in the same region if you want to export them within the same Standard logic app project.
For now, connectors deploy as their managed versions, which appear in the designer under the Azure tab. The export tool will have the capability to export connectors that have a built-in, service provider counterpart, when the latter gain parity with their Azure versions. The export tool automatically makes the conversion when Azure connector is available to export as a built-in, service provider connector.
By default, connection credentials aren't cloned from source logic app workflows. Before your logic app workflows can run, you'll have to reauthenticate these connections after export.
Exportable operation types
One or more logic apps to deploy to the same subscription and Azure region, for example, East US 2.
Azure contributor subscription-level access to the subscription where the logic apps are currently deployed, not just resource group-level access.
Review and meet the requirements for how to set up Visual Studio Code with the Azure Logic Apps (Standard) extension.
Group logic apps for export
With the Azure Logic Apps (Standard) extension, you can combine multiple Consumption logic app workflows into a single Standard logic app project. In single-tenant Azure Logic Apps, one Standard logic app resource can have multiple workflows. With this approach, you can pre-validate your workflows so that you don't miss any dependencies when you select logic apps for export.
Consider the following recommendations when you select logic apps for export:
Group logic apps where workflows share the same resources, such as integration account artifacts, maps, and schemas, or use resources through a chain of processes.
For the organization and number of workflows per logic app, review Best practices and recommendations.
Export Consumption workflows to a local project
Select logic apps for export
In Visual Studio Code, sign in to Azure, if you haven't already.
In the left navigation bar, select Azure to open the Azure window (Shift + Alt + A), and expand the Logic Apps (Standard) extension view.
On the extension toolbar, select Export Logic App....
After the Export tab opens, select your Azure subscription and region, and then select Next.
Select the logic apps to export. Each selected logic app appears on the Selected logic apps list to the side. When you're done, select Next.
You can also search for logic apps and filter on resource group.
The export tool starts to validate whether your selected logic apps are eligible for export.
Review export validation results
After export validation completes, review the results by expanding the entry for each logic app.
Logic apps that have errors are ineligible for export. You must remove these logic apps from the export list until you fix them at the source. To remove a logic app from the list, select Back.
For example, SourceLogicApp2 has an error and can't be exported until fixed:
Logic apps that pass validation with or without warnings are still eligible for export. To continue, select Export if all apps validate successfully, or select Export with warnings if apps have warnings.
For example, SourceLogicApp3 has a warning, but you can still continue to export:
The following table provides more information about each validation icon and status:
Validation icon Validation status Item passed validation, so export can continue without problems to resolve. Item failed validation, so export can't continue.
The validation entry for the failed item automatically appears expanded and provides information about the validation failure.
Item passed validation with a warning, but export can continue with required post-export resolution.
The validation entry for the item with a warning automatically appears expanded and provides information about the warning and required post-export remediation.
After the Finish export section appears, for Export location, browse and select a local folder for your new Standard logic app project.
If your workflow has managed connections that you want to deploy, which is only recommended for non-production environments, select Deploy managed connections, which shows existing resource groups in your Azure subscription. Select the resource group where you want to deploy the managed connections.
Under After export steps, review any required post-export steps, for example:
Based on your scenario, select Export and finish or Export with warnings and finish.
The export tool downloads your project to your selected folder location, expands the project in Visual Studio Code, and deploys any managed connections, if you selected that option.
After this process completes, Visual Studio Code opens a new workspace. You can now safely close the export window.
From your Standard logic app project, open and review the README.md file for the required post-export steps.
Some exported logic app workflows require post-export remediation steps to run on the Standard platform.
From your Standard logic app project, open the README.md file, and review the remediation steps for your exported workflows. The export tool generates the README.md file, which contains all the required post-export steps.
Before you make any changes to your source logic app workflow, make sure to test your new Standard logic app resource and workflows.
Integration account actions and settings
If you export actions that depend on an integration account, you have to manually set up your Standard logic app with a reference link to the integration account that contains the required artifacts. For more information, review Link integration account to a Standard logic app.
Project folder structure
After the export process finishes, your Standard logic app project contains new folders and files alongside most others in a typical Standard logic app project.
The following table describes these new folders and files added by the export process:
|.development\deployment||LogicAppStandardConnections.parameters.json||Azure Resource Manager template parameters file for deploying managed connectors|
|LogicAppStandardConnections.template.json||Azure Resource Manager template definition for deploying managed connectors|
|LogicAppStandardInfrastructure.parameters.json||Azure Resource Manager template parameters file for deploying Standard logic app resource|
|LogicAppStandardInfrastructure.template.json||Azure Resource Manager template definition for deploying Standard logic app resource|
|.logs\export||exportReport.json||Export report summary raw file, which includes all the steps required for post-export remediation|
|exportValidation.json||Validation report raw file, which includes the validation results for each exported logic app|
|README.md||Markdown file with export results summary, including the created logic apps and all the required next steps|