Azure Logic Apps

Azure Logic Apps

 


Intro

Azure Logic Apps is a cloud-based platform for creating and running automated workflows that integrate your apps, data, services, and systems. With this platform, you can quickly develop highly scalable integration solutions for your enterprise and business-to-business (B2B) scenarios.


Documentation

 


Tips and Tidbits

  • connector is a component that provides an interface to an external service. For example, the Twitter connector allows you to send and retrieve tweets,

  • A connector uses the external service's REST or SOAP API to do its work. When you use a connector in your Logic App, the connector calls the service's underlying API for you.

 

To securely access and run operations in real time on various data sources, you can choose managed connectors from a 400+ and growing Azure connectors ecosystem to use in your workflows, for example:

  • Azure services such as Blob Storage and Service Bus

  • Office 365 services such as Outlook, Excel, and SharePoint

  • Database servers such as SQL and Oracle

  • Enterprise systems such as SAP and IBM MQ

  • File shares such as FTP and SFTP

 

  • You can write custom connectors to access services that don't have pre-built connectors. The services must have a REST or SOAP API.

  • To create a custom connector, you first generate an OpenAPI or Postman description of the API. You then use that API description to create a Custom Connector resource in the Azure portal. 

  • You build a Logic App from triggers and actions. An app must begin with a trigger. After the trigger, you include as many actions as you need to implement your workflow. 

  •  

 


Access On-Prem Resources

 

  • Connect to on-premises data sources from Azure Logic Apps

  • Before you can access data sources on premises from your logic apps, you have to:

    • Install the on-premises data gateway on a local computer

    • Create a gateway resource in Azure for your gateway installation.

  • You can then select this gateway resource in the triggers and actions that you want to use for the on-premises connectors available in Azure Logic Apps.

  • Azure Logic Apps supports read and write operations through the data gateway. However, these operations have limits on their payload size.

 

 


Logic Apps and Azure Functions

 


Creating A Logic App In Portal

 

 


IoT remote monitoring and notifications with Azure Logic Apps connecting your IoT hub and mailbox

 

  • IoT remote monitoring and notifications with Azure Logic Apps connecting your IoT hub and mailbox <== DOTHIS

  • A logic app begins with a trigger, which is then followed by one or more actions that can be sequenced using built-in controls, such as conditions and iterators.

  • The arrival of telemetry data from a device at an IoT Hub endpoint can initiate logic app workflows to warehouse the data in an Azure Storage blob, send email alerts to warn of data anomalies, schedule a technician visit if a device reports a failure, and so on.

  • Under Triggers, select When one or more messages arrive in a queue (auto-complete).

  • Configure the logic app action

    • Choose an action, select the All tab.

    • Type smtp in the search box, select the SMTP service in the search result, and then select Send Email.

 


B2B enterprise integration workflows with Azure Logic Apps and Enterprise Integration Pack

  • B2B enterprise integration workflows with Azure Logic Apps and Enterprise Integration Pack

  • For business-to-business (B2B) solutions and seamless communication between organizations, you can build automated, scalable, enterprise integration workflows by using Azure Logic Apps with the Enterprise Integration Pack (EIP).

  • EIP is architecturally based on integration accounts.

  • The following diagram shows the high-level steps to start building B2B logic app workflows:



 


Install on-premises data gateway for Azure Logic Apps

 


Set up Azure Monitor logs and collect diagnostics data for Azure Logic Apps

 

 


Reference guide to expression functions for Azure Logic Apps and Power Automate

 


TierAgeInDays=-180

addDays(utcNow(), variables("TierAgeInDays"))

 


Create, edit, or extend JSON for logic app workflow definitions in Azure Logic Apps

 


Logic Apps In An Isolated Service Environment (ISE)

 

  • Announcing Azure Integration Service Environment for Logic Apps

  • An Integration Service Environment is a fully isolated and dedicated environment for all enterprise-scale integration needs.

  • When you create a new Integration Service Environment, it is injected into your Azure virtual network, which allows you to deploy Logic Apps as a service on your VNET.

  • Direct, secure access to your virtual network resources.

    • Enables Logic Apps to have secure, direct access to private resources, such as virtual machines, servers, and other services in your virtual network including Azure services with service endpoints and on-premises resources via an Express Route or site to site VPN.

    • Consistent, highly reliable performance. Eliminates the noisy neighbor issue, removing fear of intermittent slowdowns that can impact business critical processes with a dedicated runtime where only your Logic Apps execute in.

    • Isolated, private storage. Sensitive data subject to regulation is kept private and secure, opening new integration opportunities.

    • Predicable pricing. Provides a fixed monthly cost for Logic Apps. Each Integration Service Environment includes the free usage of 1 Standard Integration Account and 1 Enterprise connector.

      • If your Logic Apps action execution count exceeds 50 million action executions per month, the Integration Service Environment could provide better value.

 


Troubleshoot and diagnose workflow failures in Azure Logic Apps

 

  • Each time that the trigger fires for an item or event, the Logic Apps engine creates and runs a separate workflow instance for each item or event.

  • If a run fails, follow these steps to review what happened during that run, including the status for each step in the workflow plus the inputs and outputs for each step.

    • Check the workflow's run status by checking the runs history.

    • Check the failed step's inputs to confirm whether they appear as you expect.

 


Handle errors and exceptions in Azure Logic Apps

Type

Description

Type

Description

Default

This policy sends up to four retries at exponentially increasing intervals, which scale by 7.5 seconds but are capped between 5 and 45 seconds.

Exponential interval

This policy waits a random interval selected from an exponentially growing range before sending the next request.

Fixed interval

This policy waits the specified interval before sending the next request.

None

Don't resend the request.

  • The retry interval where the value must use ISO 8601 format.

  • The default minimum interval is PT5S and the maximum interval is PT1D.

  • When you use the exponential interval policy, you can specify different minimum and maximum values.

 


Azure Container Registry as an Event Grid source

 

  • Azure Container Registry as an Event Grid source

  • The following example shows the schema of an image pushed event:



    [{ "id": "831e1650-001e-001b-66ab-eeb76e069631", "topic": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ContainerRegistry/registries/<name>", "subject": "aci-helloworld:v1", "eventType": "ImagePushed", "eventTime": "2018-04-25T21:39:47.6549614Z", "data": { "id": "31c51664-e5bd-416a-a5df-e5206bc47ed0", "timestamp": "2018-04-25T21:39:47.276585742Z", "action": "push", "target": { "mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 3023, "digest": "sha256:213bbc182920ab41e18edc2001e06abcca6735d87782d9cef68abd83941cf0e5", "length": 3023, "repository": "aci-helloworld", "tag": "v1" }, "request": { "id": "7c66f28b-de19-40a4-821c-6f5f6c0003a4", "host": "demo.azurecr.io", "method": "PUT", "useragent": "docker/18.03.0-ce go/go1.9.4 git-commit/0520e24 os/windows arch/amd64 UpstreamClient(Docker-Client/18.03.0-ce \\\\(windows\\\\))" } }, "dataVersion": "1.0", "metadataVersion": "1" }]