Skip to content

Commit 89c51ab

Browse files
Introduction to Azure Logic Apps
1 parent 12269c6 commit 89c51ab

32 files changed

+320
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<Project Sdk="Microsoft.NET.Sdk.Web">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net8.0</TargetFramework>
5+
<Nullable>enable</Nullable>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
</PropertyGroup>
8+
9+
</Project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
var builder = WebApplication.CreateBuilder(args);
2+
var app = builder.Build();
3+
4+
app.MapGet("/", () => "Hello World!");
5+
6+
app.Run();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"$schema": "http://json.schemastore.org/launchsettings.json",
3+
"iisSettings": {
4+
"windowsAuthentication": false,
5+
"anonymousAuthentication": true,
6+
"iisExpress": {
7+
"applicationUrl": "http://localhost:16183",
8+
"sslPort": 44347
9+
}
10+
},
11+
"profiles": {
12+
"http": {
13+
"commandName": "Project",
14+
"dotnetRunMessages": true,
15+
"launchBrowser": true,
16+
"applicationUrl": "http://localhost:5226",
17+
"environmentVariables": {
18+
"ASPNETCORE_ENVIRONMENT": "Development"
19+
}
20+
},
21+
"https": {
22+
"commandName": "Project",
23+
"dotnetRunMessages": true,
24+
"launchBrowser": true,
25+
"applicationUrl": "https://localhost:7285;http://localhost:5226",
26+
"environmentVariables": {
27+
"ASPNETCORE_ENVIRONMENT": "Development"
28+
}
29+
},
30+
"IIS Express": {
31+
"commandName": "IISExpress",
32+
"launchBrowser": true,
33+
"environmentVariables": {
34+
"ASPNETCORE_ENVIRONMENT": "Development"
35+
}
36+
}
37+
}
38+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"Logging": {
3+
"LogLevel": {
4+
"Default": "Information",
5+
"Microsoft.AspNetCore": "Warning"
6+
}
7+
}
8+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"Logging": {
3+
"LogLevel": {
4+
"Default": "Information",
5+
"Microsoft.AspNetCore": "Warning"
6+
}
7+
},
8+
"AllowedHosts": "*"
9+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
{
2+
"format": 1,
3+
"restore": {
4+
"C:\\Github\\AzureModule\\Build a web API with minimal API, ASP.NET Core, and .NET\\PizzaStore\\PizzaStore.csproj": {}
5+
},
6+
"projects": {
7+
"C:\\Github\\AzureModule\\Build a web API with minimal API, ASP.NET Core, and .NET\\PizzaStore\\PizzaStore.csproj": {
8+
"version": "1.0.0",
9+
"restore": {
10+
"projectUniqueName": "C:\\Github\\AzureModule\\Build a web API with minimal API, ASP.NET Core, and .NET\\PizzaStore\\PizzaStore.csproj",
11+
"projectName": "PizzaStore",
12+
"projectPath": "C:\\Github\\AzureModule\\Build a web API with minimal API, ASP.NET Core, and .NET\\PizzaStore\\PizzaStore.csproj",
13+
"packagesPath": "C:\\Users\\ShubhamVerma\\.nuget\\packages\\",
14+
"outputPath": "C:\\Github\\AzureModule\\Build a web API with minimal API, ASP.NET Core, and .NET\\PizzaStore\\obj\\",
15+
"projectStyle": "PackageReference",
16+
"fallbackFolders": [
17+
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
18+
],
19+
"configFilePaths": [
20+
"C:\\Users\\ShubhamVerma\\AppData\\Roaming\\NuGet\\NuGet.Config",
21+
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
22+
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
23+
],
24+
"originalTargetFrameworks": [
25+
"net8.0"
26+
],
27+
"sources": {
28+
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
29+
"C:\\Program Files\\dotnet\\library-packs": {},
30+
"https://api.nuget.org/v3/index.json": {}
31+
},
32+
"frameworks": {
33+
"net8.0": {
34+
"targetAlias": "net8.0",
35+
"projectReferences": {}
36+
}
37+
},
38+
"warningProperties": {
39+
"warnAsError": [
40+
"NU1605"
41+
]
42+
},
43+
"restoreAuditProperties": {
44+
"enableAudit": "true",
45+
"auditLevel": "low",
46+
"auditMode": "direct"
47+
}
48+
},
49+
"frameworks": {
50+
"net8.0": {
51+
"targetAlias": "net8.0",
52+
"imports": [
53+
"net461",
54+
"net462",
55+
"net47",
56+
"net471",
57+
"net472",
58+
"net48",
59+
"net481"
60+
],
61+
"assetTargetFallback": true,
62+
"warn": true,
63+
"frameworkReferences": {
64+
"Microsoft.AspNetCore.App": {
65+
"privateAssets": "none"
66+
},
67+
"Microsoft.NETCore.App": {
68+
"privateAssets": "all"
69+
}
70+
},
71+
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.200/PortableRuntimeIdentifierGraph.json"
72+
}
73+
}
74+
}
75+
}
76+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8" standalone="no"?>
2+
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
4+
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
5+
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
6+
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
7+
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
8+
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\ShubhamVerma\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
9+
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
10+
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.9.1</NuGetToolVersion>
11+
</PropertyGroup>
12+
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
13+
<SourceRoot Include="C:\Users\ShubhamVerma\.nuget\packages\" />
14+
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
15+
</ItemGroup>
16+
</Project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<?xml version="1.0" encoding="utf-8" standalone="no"?>
2+
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
{
2+
"version": 3,
3+
"targets": {
4+
"net8.0": {}
5+
},
6+
"libraries": {},
7+
"projectFileDependencyGroups": {
8+
"net8.0": []
9+
},
10+
"packageFolders": {
11+
"C:\\Users\\ShubhamVerma\\.nuget\\packages\\": {},
12+
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
13+
},
14+
"project": {
15+
"version": "1.0.0",
16+
"restore": {
17+
"projectUniqueName": "C:\\Github\\AzureModule\\Build a web API with minimal API, ASP.NET Core, and .NET\\PizzaStore\\PizzaStore.csproj",
18+
"projectName": "PizzaStore",
19+
"projectPath": "C:\\Github\\AzureModule\\Build a web API with minimal API, ASP.NET Core, and .NET\\PizzaStore\\PizzaStore.csproj",
20+
"packagesPath": "C:\\Users\\ShubhamVerma\\.nuget\\packages\\",
21+
"outputPath": "C:\\Github\\AzureModule\\Build a web API with minimal API, ASP.NET Core, and .NET\\PizzaStore\\obj\\",
22+
"projectStyle": "PackageReference",
23+
"fallbackFolders": [
24+
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
25+
],
26+
"configFilePaths": [
27+
"C:\\Users\\ShubhamVerma\\AppData\\Roaming\\NuGet\\NuGet.Config",
28+
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
29+
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
30+
],
31+
"originalTargetFrameworks": [
32+
"net8.0"
33+
],
34+
"sources": {
35+
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
36+
"C:\\Program Files\\dotnet\\library-packs": {},
37+
"https://api.nuget.org/v3/index.json": {}
38+
},
39+
"frameworks": {
40+
"net8.0": {
41+
"targetAlias": "net8.0",
42+
"projectReferences": {}
43+
}
44+
},
45+
"warningProperties": {
46+
"warnAsError": [
47+
"NU1605"
48+
]
49+
},
50+
"restoreAuditProperties": {
51+
"enableAudit": "true",
52+
"auditLevel": "low",
53+
"auditMode": "direct"
54+
}
55+
},
56+
"frameworks": {
57+
"net8.0": {
58+
"targetAlias": "net8.0",
59+
"imports": [
60+
"net461",
61+
"net462",
62+
"net47",
63+
"net471",
64+
"net472",
65+
"net48",
66+
"net481"
67+
],
68+
"assetTargetFallback": true,
69+
"warn": true,
70+
"frameworkReferences": {
71+
"Microsoft.AspNetCore.App": {
72+
"privateAssets": "none"
73+
},
74+
"Microsoft.NETCore.App": {
75+
"privateAssets": "all"
76+
}
77+
},
78+
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.200/PortableRuntimeIdentifierGraph.json"
79+
}
80+
}
81+
}
82+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"version": 2,
3+
"dgSpecHash": "DqBnMasLvIagIBFBp8dS9jjh7rfSAyxE8yJk/y5Pcq642RVQvLHajGFk8ifEehKH2lU4fqENLg5PD8BKsfmbTQ==",
4+
"success": true,
5+
"projectFilePath": "C:\\Github\\AzureModule\\Build a web API with minimal API, ASP.NET Core, and .NET\\PizzaStore\\PizzaStore.csproj",
6+
"expectedPackageFiles": [],
7+
"logs": []
8+
}

Build a web API with minimal API, ASP.NET Core, and .NET/README.md

Whitespace-only changes.

Execute an Azure Function with triggers/BlobTrigger/BlobTriggerFunctionAppDemo2/Function1.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace BlobTriggerFunctionAppDemo2
99
public class Function1
1010
{
1111
[FunctionName("Function1")]
12-
public void Run([BlobTrigger("finaltry/{name}", Connection = "ShubhamStorage")]Stream myBlob, string name, ILogger log)
12+
public void Run([BlobTrigger("polycab-ai-chatbot/{name}", Connection = "shubhamaccountname")]Stream myBlob, string name, ILogger log)
1313
{
1414
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
1515
}
+64
Original file line numberDiff line numberDiff line change
@@ -1 +1,65 @@
11
# Introduction to Azure Logic Apps
2+
3+
## What is a business process?
4+
5+
A business process or workflow is a sequence of tasks that produce a specific outcome. The result might be a decision, some data, or a notification.
6+
7+
One of the shoe-company scenarios is monitoring social media for reaction to a new product. The sequence of tasks would be: detect tweets about the product, analyze the sentiment, store a link to positive tweets, and email customer service for negative tweets.
8+
9+
Since the steps occur in a specific order, you often describe them with a flowchart. The following illustration shows a sample flowchart for the social-media monitor process. Notice how there are three types of operations: an event that starts the flow, processing steps that do most of the work, and a conditional operator that makes a decision.
10+
![alt text](image.png)
11+
12+
## What is Azure Logic Apps?
13+
14+
Azure Logic Apps is a cloud service that automates the execution of your business processes. You use the workflow designer to arrange premade components into the sequence you need. The designer sends a definition of your workflow to the Azure Logic Apps execution engine. The execution engine launches your app when conditions are right and manages the compute resources needed to run it. The following illustration shows a high-level view of the steps.
15+
![alt text](image-1.png)
16+
The power of Azure Logic Apps comes from the diversity of the prebuilt components and their ability to work together. The components let you connect to hundreds of external services. The following illustration shows a few of the services you can use in your logic app workflow.
17+
![alt text](image-2.png)
18+
You build your app from the services you use in your business processes. The components can be connected in any pattern you need. You can add conditional statements and loops to add decision making to your app. The following illustration shows how you would combine external services to implement the social-media monitor workflow.
19+
![alt text](image-3.png)
20+
The Azure Logic Apps model is extensible. If there isn't a prebuilt component for the service you need, you can create your own. You can also run custom code in an Azure function that you invoke from your app.
21+
22+
If we had to describe the goal of Azure Logic Apps in one word, we'd choose integration. Azure Logic Apps helps you join disparate services to implement a workflow. Your job is to use the workflow designer to arrange the components into the sequence you need. For most apps, you don't need to write any code and you can be up and running in minutes.
23+
24+
## How Azure Logic Apps works
25+
26+
## What is a connector?
27+
28+
A connector is a component that provides an interface to an external service. For example, the Twitter connector allows you to send and retrieve tweets, while the Office 365 Outlook connector lets you manage your email, calendar, and contacts. Azure Logic Apps provides hundreds of prebuilt connectors that you can use to create your apps.
29+
30+
A connector uses the external service's REST or SOAP API to do its work. When you use a connector in your logic app workflow, the connector calls the service's underlying API for you. The following illustration shows the Twitter connector and its use of the Twitter REST API.
31+
![alt text](image-4.png)
32+
33+
## Custom connectors
34+
35+
You can write custom connectors to access services that don't have prebuilt connectors. The services must have a REST or SOAP API. The requirement that the services provide an API shouldn't be too surprising since connectors are essentially wrappers around that underlying API.
36+
37+
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 can give your connector a name, an icon, and a description for each operation. The following illustration shows an example of the process. Notice that there's no coding involved.
38+
![alt text](image-5.png)
39+
40+
## What are triggers and actions?
41+
42+
Workflows are built from different types of tasks. For example, in our social media monitoring scenario, the workflow starts when a new tweet is posted. The workflow then analyzes the sentiment and makes a decision, based on the sentiment score. Azure Logic Apps uses the terms trigger, action, and control action for these concepts. These operations are the building blocks of Azure Logic Apps. The following diagram shows how to use each type of step in the social media monitoring app.
43+
![alt text](image-6.png)
44+
![alt text](image-7.png)
45+
![alt text](image-8.png)
46+
![alt text](image-9.png)
47+
48+
## How to build workflows from triggers and actions
49+
50+
![alt text](image-10.png)
51+
52+
## How do triggers and actions work together?
53+
54+
![alt text](image-11.png)
55+
![alt text](image-12.png)
56+
57+
## What are control actions?
58+
59+
![alt text](image-13.png)
60+
![alt text](image-14.png)
61+
62+
## What is the workflow designer?
63+
64+
![alt text](image-15.png)
65+
![alt text](image-16.png)
11.6 KB
Loading
13.2 KB
Loading
8.26 KB
Loading
6.02 KB
Loading
7.42 KB
Loading
5.35 KB
Loading
45.5 KB
Loading
35.5 KB
Loading
30.6 KB
Loading
21.4 KB
Loading
9.46 KB
Loading
11.2 KB
Loading
9.1 KB
Loading
7.3 KB
Loading
6.63 KB
Loading
5.69 KB
Loading
7.1 KB
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Run parallel tasks in Azure Batch with the Azure CLI
377 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)