Logic Apps Consumption: Moving from Azure Portal to Visual Studio

  • Pedro Almeida
  • Dec 21, 2020
  • 4 min read

From Azure Portal to Visual Studio

Most developers start building Logic Apps in the Azure Portal because it’s fast and straightforward. You open the portal, create a resource, and start working immediately. While this approach works well at first, it comes with trade‑offs. In particular, the Azure Portal introduces several limitations, especially when you need proper CI/CD (Continuous Integration and Continuous Delivery).

#1 Azure Monitoring Platform

Choosing the right tool

Making this transition requires the right tooling, and several options exist. In this post, I focus on a solid and proven solution and explain how to use it step by step.

The tool is a collection of PowerShell scripts that downloads your Logic App Consumption definition to a file. In addition, it can generate a parameters file, which is essential for CI/CD and multi‑environment deployments.

LogicAppTemplateCreator

Jeff Hollan, PM Lead at Microsoft, created this tool. You can explore his work on GitHub:
https://github.com/jeffhollan.

The project we’ll use is LogicAppTemplateCreator. It’s a C# project that builds a DLL, which we then import and use from PowerShell:

📝 One-Minute Brief

Explains how to move Azure Logic Apps Consumption from the Azure Portal to Visual Studio to overcome portal limitations and enable better CI/CD, source control, and team collaboration using ARM templates.

How to move Logic Apps Consumption from the Azure Portal into Visual Studio Solutions

Let’s begin our process. After cloning the solution and rebuilding it, the DLL will be in the usual folder ($sourcefolder/bin/debug/).

After the solution is built, open PowerShell and import this DLL, using the following command:

Import-Module C:\{​​​​​​​pathToSolution}​​​​​​​\LogicAppTemplateCreator\LogicAppTemplate\bin\Debug\LogicAppTemplate.dll
LogicAppTemplate.dll

I dropped into a Shared folder because I’ve referenced it in a Repo for others to use in our projects, but this isn’t necessary; I recommend it to make it easier for future developers in your company.

After executing this, you’ll be ready to download your ARM template. So, get your Resource Group ID, your Subscription ID, and prepare an output folder. You will also need to enter your credentials to log in via PowerShell.

The script should be updated to match your IDs. Do note that it should not be case sensitive. If you don’t set the Out-File, the output will be set in the PowerShell console; you’ll still be able to copy it and paste it into a file, but it’s an unnecessary step.

armclient token {subscription ID} | Get-LogicAppTemplate -LogicApp {LogicAppName} -ResourceGroup {ResourceGroup} -SubscriptionId {subcriptionID}  | Out-File {ARMTemplateOutput}

After the ARM template is created, a parameter template file can be generated by running the following script.

get-ParameterTemplate -GenerateExpression True -TemplateFile {ARMTemplateOutput} | Out-File {ParameterTemplateOutput}

You will now have both files you need to manage your Logic App, so just copy them to your VS Azure Resource Group project, with the Logic Apps Template, and you’re almost ready to go.

You will need to address the path links in the JSON code to make it CI/CD-able and fix the parameters in some connectors, but there’s not much work to do.

As you can see, the ARM template already provides all connection parameters and connection variables. I recommend you change them to a more appropriate naming convention, such as arm_O365, arm_SQL, or arm_ServiceBus. This way, you will know what it’s referring to with a very understandable pattern.

Logic App Consumption JSON

At the end of the day, Logic App monitoring should be ready for deployment in your subscriptions and look something like this:

Logic App Consumption design

Happy coding!

#1 Azure Monitoring Platform

Hope you find this helpful! If you liked the content or found it useful and would like to support me in writing more, consider buying (or helping to buy) a Star Wars Lego set for my son. 

Thanks for Buying me a coffe
Author: Pedro Almeida

Pedro Almeida is a Senior Integration Developer at Devscope, working with Logic Apps, BizTalk, and other related products. Although he started his career as a Dynamics CRM Consultant, Integrations quickly caught his eyes and has made it his primary area of interest and work. Since then, Pedro has worked with customers from very different areas, from Retail to Banking to Governmental Services and others. You can contact Pedro at pedro.miguel_almeida@outlook.com(Twitter: @ItsNotRcktScnce)

4 thoughts on “Logic Apps Consumption: Moving from Azure Portal to Visual Studio”

Leave a Reply

Your email address will not be published. Required fields are marked *

The Ultimate Cloud
Management Platform for Azure

Supercharge your Azure Cost Saving

Learn More
Turbo360 Widget

Back to Top