Skip to content

Sample template for deploying Logic App Standard and Functions using Azure Developer CLI (azd)

Notifications You must be signed in to change notification settings

marnixcox/logicapp-standard-func

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logic App Standard and Functions

template to deploy application integrations

Logic App Standard is Microsoft's low code offering for implementing enterprise integrations. It offers Connectors which can save you time from building everything yourself. Azure Functions provide custom coding and more advanced data processing/mapping functionality. In advanced integration scenario's they are typically used together.

This templates includes a Logic App Standard and Functions deployment.

It needs to be used together with an integration-hub which hosts the Logic App Standard Plan and deploys the Azure Artifact libraries.

Application architecture

Deploy

This template utilizes the following Azure resources:

How to get started

  1. Install Visual Studio Code with Azure Logic Apps (Standard) and Azure Functions extensions
  2. Create a new folder and switch to it in the Terminal tab
  3. Run azd auth login
  4. Run azd init -t https://github.com/marnixcox/logicapp-standard-func

Now the magic happens. The template contents will be downloaded into your project folder. This will be the next starting point for building your integrations.

Contents

The following folder structure is created.

├── infra                      [ Infrastructure As Code files ]
│   ├── main.bicep             [ Main infrastructure file ]
│   ├── main.parameters.json   [ Parameters file ]
│   ├── app                    [ Infra files specifically added for this template ]
│   ├── avm                    [ Azure Verified Modules ]
│   └── core                   [ Full set of infra files provided by Azure Developer CLI team  ]
├── src                        [ Application code ]
│   ├── functions              [ Azure Functions ]
│   └── workflows              [ Azure Logic App Standard ]
└── azure.yaml                 [ Describes the app and type of Azure resources ]

Prerequisites

  • Install integration-hub first with the same environment name as logicapp-standard-func

Provision Infrastructure

Let's first provision the infra components. Add a resourceToken parameter to the main.parameters.json to set the application name or leave it out to have a random name generated.

 "resourceToken": {
      "value": "appname"
    }
  • Run azd provision

First time an environment name, subscription and location need to be selected. These will then be stored in the .azure folder.

Select environment, subscription

Resource group and all components will be created.

Provision

Deploy Contents

After coding some functions and creating Azure Logic App Standard workflows these can be deployed with another single command.

  • Run azd deploy

Functions code and workflows will be deployed into the existing infra components.

Deploy

Azure Artifacts

In order to use the NuGet libraries from your Azure Artifacts feed add the <packageSources> segment to the NuGet.Config file.

 <packageSources>
    <add key="Integration" value="https://pkgs.dev.azure.com/ORG_NAME/PROJECT_NAME/_packaging/FEED_NAME/nuget/v3/index.json" />
 </packageSources>

Connections

Both Logic App Standard and Functions are granted access to the Key Vault.

In order to setup the Function Connections in the connections.json file the following parameters are available in the Logic App Standard instance:

FunctionAppKey FunctionAppName

Deploy

Deployment pipelines

This template includes pipelines for a staged dev/tst/acc/prd deployment for a develop and main branch. Make sure to update the serviceConnection and AZURE_SUBSCRIPTION_ID accordingly.

Deployment

About

Sample template for deploying Logic App Standard and Functions using Azure Developer CLI (azd)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages