What this book covers
Chapter 1, Getting Started with Azure Logic Apps, introduces Azure to new readers but serves as a reference tool for Azure users. It describes how to obtain an MSDN account and manage the subscription and provides a walk-through of the Azure portal as it relates to logic apps. This chapter contains step-by-step guides to demonstrate how to set up a new account.
Chapter 2, Environments and Resource Groups, introduces the concept of resource groups as a way of separating Azure objects based on their use, for example, the creation of resource group environments for sandboxing, development, testing, user-acceptance testing, and production pipelines so that new logic can be tested as part of a managed solution.
Chapter 3, Referencing Data within Actions, explains how to initialize, and set a variable, and how to parameterize a JSON message to obtain field data. You will then learn the difference between the logical field name and the physical field name.
Chapter 4, Reading Complex Data, shows you how to access specific fields from an array, an object, and from a table using the parsing parameterization process.
Chapter 5, Manipulating Data, covers how to perform calculations, concatenate text, split a string, count the length of a string, and index the position of a word or character within a string.
Chapter 6, Working with the Common Data Service, looks at how to retrieve and update records in third-party systems and databases using the web-based Common Data Service series of actions.
Chapter 7, Working with Azure Functions, addresses the fact that although logic apps allow you to perform most common actions, some more complex manipulation may require a C# app. This chapter looks at how you can use your functions within a logic app.
Chapter 8, Scoping with Try/Catch Error Handling, looks at how, as the complexity of the logic grows, it would be sensible to divide the flowchart into different sections. The scope feature allows you to be able to do this, reducing clutter on the flowchart. Output from a scope can also be obtained for debugging purposes. The scope feature has the further use of being able to focus the developer's attention on problematic code. Output and error messages from this section can be obtained and debugged, with further remedial action taken when errors do occur.
Chapter 9, Sharing Data with Other Logic Apps and APIs, looks at how we can link logic apps together and share data between them. As logic apps grow ever more complex, we can build them with reusable code parts. Common, repeatable logic can be used time and again by a series of other "parent" logic apps.
Chapter 10, Monitoring Logic Apps for Management Reporting, walks you through the Logic Apps creation wizard and explains how Log Analytics is used to be able to produce real-time reporting on resource group objects, providing a holistic overview of logic health within the monitored environment. By doing this, the developer can easily track errors in the logic, how often the problem is occurring, and where the fault is located.
Chapter 11, Fine-Tuning Logic App Runs with Run After, explores how the process of creating and fine-tuning a logic app depends on knowing what data you are expecting to see, the format you want that data to end up using, and adding conditions to check that operationally, procedurally, or programmatically related data can also be obtained, manipulated, and used as efficiently as possible. Sometimes, you only want a certain section of a logic app to work if the previous action was successful, or failed, or was skipped. By creating different logic branches, you can do different things based on whether the action was successful or not.
Chapter 12, Solving Connection Issues and Bad Gateways by Rerunning Logic Apps, looks at how, when trying to communicate with other cloud or on-premises domains, you have to authenticate and pass data through a firewall. Logic apps have a timeout window of up to 2 minutes and presume that if no response is received before this time, the data is lost, and the connection is uncontactable. This chapter looks at common connection issues, how to understand them, and how to resolve them. As development is an iterative process, you may need to run your logic apps several times until you are happy with the result. This chapter looks at how you can rerun logic app runs without having to resend the original data from your external system time and again.