Skip to content

Commit 5fbaa20

Browse files
authored
Merge pull request #50188 from lootle1/MR97
Technical Review 1044116: Expose multiple Azure Function apps as a co…
2 parents 89cc3cd + fc95313 commit 5fbaa20

18 files changed

+151
-155
lines changed
Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.build-serverless-api-with-functions-api-management.1-introduction
3-
title: Introduction
4-
metadata:
5-
title: Introduction
6-
description: In this unit, you will learn about a business problem that you can address by using Azure API Management to host Azure Functions.
7-
ms.date: 11/03/2023
8-
author: ggailey777
9-
ms.author: glenga
10-
ms.topic: unit
11-
durationInMinutes: 3
12-
content: |
13-
[!include[](includes/1-introduction.md)]
14-
1+
### YamlMime:ModuleUnit
2+
uid: learn.build-serverless-api-with-functions-api-management.1-introduction
3+
title: Introduction
4+
metadata:
5+
title: Introduction
6+
description: In this unit, you'll learn about a business problem that you can address by using Azure API Management to host Azure Functions.
7+
ms.date: 04/28/2025
8+
author: ggailey777
9+
ms.author: glenga
10+
ms.topic: unit
11+
durationInMinutes: 3
12+
content: |
13+
[!include[](includes/1-introduction.md)]
14+
Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.build-serverless-api-with-functions-api-management.2-import-function-app-api-management
3-
title: Create a new API in API Management from a function app
4-
metadata:
5-
title: Create a new API in API Management from a function app
6-
description: In this unit, you will learn about serverless apps and microservices and how you can build such architectures by using API Management.
7-
ms.date: 11/03/2023
8-
author: ggailey777
9-
ms.author: glenga
10-
ms.topic: unit
11-
durationInMinutes: 5
12-
content: |
13-
[!include[](includes/2-import-function-app-api-management.md)]
14-
1+
### YamlMime:ModuleUnit
2+
uid: learn.build-serverless-api-with-functions-api-management.2-import-function-app-api-management
3+
title: Create a new API in API Management from a function app
4+
metadata:
5+
title: Create a new API in API Management from a function app
6+
description: In this unit, you'll learn about serverless apps and microservices and how you can build such architectures by using API Management.
7+
ms.date: 04/28/2025
8+
author: ggailey777
9+
ms.author: glenga
10+
ms.topic: unit
11+
durationInMinutes: 5
12+
content: |
13+
[!include[](includes/2-import-function-app-api-management.md)]
14+
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.build-serverless-api-with-functions-api-management.3-exercise-import-function-app-api-management
3-
title: Exercise - Create a new API in API Management from a function app
4-
metadata:
5-
title: Exercise - Create a new API in API Management from a function app
6-
description: In this unit, you will create a new instance of API Management and use it to host a function app.
7-
ms.date: 11/03/2023
8-
author: ggailey777
9-
ms.author: glenga
10-
ms.topic: unit
11-
azureSandbox: true
12-
interactive: bash
13-
durationInMinutes: 15
14-
content: |
15-
[!include[](includes/3-exercise-import-function-app-api-management.md)]
16-
1+
### YamlMime:ModuleUnit
2+
uid: learn.build-serverless-api-with-functions-api-management.3-exercise-import-function-app-api-management
3+
title: Exercise - Create a new API in API Management from a function app
4+
metadata:
5+
title: Exercise - Create a new API in API Management from a function app
6+
description: In this unit, you'll create a new instance of API Management and use it to host a function app.
7+
ms.date: 04/28/2025
8+
author: ggailey777
9+
ms.author: glenga
10+
ms.topic: unit
11+
azureSandbox: true
12+
interactive: bash
13+
durationInMinutes: 15
14+
content: |
15+
[!include[](includes/3-exercise-import-function-app-api-management.md)]
16+
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.build-serverless-api-with-functions-api-management.4-import-additional-functions-existing-api-gateway
3-
title: The benefits of using Azure API Management to compose your API
4-
metadata:
5-
title: The benefits of using Azure API Management to compose your API
6-
description: In this unit, you'll learn about common issues with the microservices architecture and how you can address them by adding functions to existing APIs in API Management.
7-
ms.date: 11/03/2023
8-
author: ggailey777
9-
ms.author: glenga
10-
ms.topic: unit
11-
durationInMinutes: 5
12-
content: |
13-
[!include[](includes/4-import-additional-functions-existing-api-gateway.md)]
14-
1+
### YamlMime:ModuleUnit
2+
uid: learn.build-serverless-api-with-functions-api-management.4-import-additional-functions-existing-api-gateway
3+
title: The benefits of using Azure API Management to compose your API
4+
metadata:
5+
title: The benefits of using Azure API Management to compose your API
6+
description: In this unit, you'll learn about common issues with the microservices architecture and how you can address them by adding functions to existing APIs in API Management.
7+
ms.date: 04/28/2025
8+
author: ggailey777
9+
ms.author: glenga
10+
ms.topic: unit
11+
durationInMinutes: 5
12+
content: |
13+
[!include[](includes/4-import-additional-functions-existing-api-gateway.md)]
14+
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.build-serverless-api-with-functions-api-management.5-exercise-import-additional-functions-existing-api-gateway
3-
title: Exercise - Add another Azure Functions app to an existing API
4-
metadata:
5-
title: Exercise - Add another Azure Functions app to an existing API
6-
description: In this unit, you will add an second function to a product in Azure API Management and test your integrated API.
7-
ms.date: 11/03/2023
8-
author: ggailey777
9-
ms.author: glenga
10-
ms.topic: unit
11-
azureSandbox: true
12-
interactive: bash
13-
durationInMinutes: 10
14-
content: |
15-
[!include[](includes/5-exercise-import-additional-functions-existing-api-gateway.md)]
16-
1+
### YamlMime:ModuleUnit
2+
uid: learn.build-serverless-api-with-functions-api-management.5-exercise-import-additional-functions-existing-api-gateway
3+
title: Exercise - Add another Azure Functions app to an existing API
4+
metadata:
5+
title: Exercise - Add another Azure Functions app to an existing API
6+
description: In this unit, you'll add an second function to a product in Azure API Management and test your integrated API.
7+
ms.date: 04/28/2025
8+
author: ggailey777
9+
ms.author: glenga
10+
ms.topic: unit
11+
azureSandbox: true
12+
interactive: bash
13+
durationInMinutes: 10
14+
content: |
15+
[!include[](includes/5-exercise-import-additional-functions-existing-api-gateway.md)]
16+
Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.build-serverless-api-with-functions-api-management.6-summary
3-
title: Summary
4-
metadata:
5-
title: Summary
6-
description: In this unit, you'll review what you've learned about Azure Functions and how to use API Management to integrate them into APIs.
7-
ms.date: 11/03/2023
8-
author: ggailey777
9-
ms.author: glenga
10-
ms.topic: unit
11-
durationInMinutes: 3
12-
content: |
13-
[!include[](includes/6-summary.md)]
14-
1+
### YamlMime:ModuleUnit
2+
uid: learn.build-serverless-api-with-functions-api-management.6-summary
3+
title: Summary
4+
metadata:
5+
title: Summary
6+
description: In this unit, you'll review what you've learned about Azure Functions and how to use API Management to integrate them into APIs.
7+
ms.date: 04/28/2025
8+
author: ggailey777
9+
ms.author: glenga
10+
ms.topic: unit
11+
durationInMinutes: 3
12+
content: |
13+
[!include[](includes/6-summary.md)]
14+

learn-pr/azure/build-serverless-api-with-functions-api-management/includes/1-introduction.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ In this module, you learn how to use API Management to assemble multiple microse
66

77
## Learning objectives
88

9-
In this module, you will:
9+
In this module, you'll:
1010

1111
- Identify the value of Azure API Management in a serverless application.
1212
- Import an Azure Function App as an API in Azure API Management.

learn-pr/azure/build-serverless-api-with-functions-api-management/includes/2-import-function-app-api-management.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,25 @@ The Azure API Management service enables you to construct an API from a set of d
22

33
In your online store, each part of the application is implemented as a microservice - one for the product details, one for order details, and so on. A separate team manages each microservice, and each team uses continuous development and delivery to update and deploy their code regularly. You want to find a way to assemble these microservices into a single product and then manage that product centrally.
44

5-
In this unit, you learn how Azure API Management is useful in a serverless architecture, by building single APIs from individual microservices.
5+
In this unit, you learn how Azure API Management is useful in a serverless architecture by building single APIs from individual microservices.
66

77
## Serverless architecture and microservices
88

9-
Microservices are a popular approach to the architecture of distributed applications. When you build an application as a collection of microservices, you create many different small services. Each service has a defined domain of responsibility, and is developed, deployed, and scaled independently. This modular architecture results in an application that is easier to understand, improve, and test. It also makes continuous delivery easier, because you change only a small part of the whole application when you deploy a microservice.
9+
Microservices are a popular approach to the architecture of distributed applications. When you build an application as a collection of microservices, you create many different small services. Each service has a defined domain of responsibility and is developed, deployed, and scaled independently. This modular architecture results in an application that is easier to understand, improve, and test. It also makes continuous delivery easier, because you change only a small part of the whole application when you deploy a microservice.
1010

1111
Another complementary trend in distributed software development is serverless architecture. In this approach, a host organization publishes a set of services that developers can use to run their code. The developers don't have to concern themselves with the supporting hardware, operating systems, underlying software, and other infrastructure. Instead, the code runs in stateless computing resources triggered by requests. Costs are only incurred when the services execute, so you don't pay much for services that are rarely used.
1212

1313
## Azure Functions
1414

15-
Azure Functions is a service that enables serverless architectures in Azure. You can write functions, without worrying about the supporting infrastructure, in many different languages, including C#, Java, JavaScript, PowerShell, and Python. You can also use libraries from NuGet and the Node Package Manager (npm), and authenticate users with the OAuth standard from providers such as Active Directory, Facebook, Google, and Microsoft Account.
15+
Azure Functions is a service that enables serverless architectures in Azure. You can write functions without worrying about the supporting infrastructure in many different languages, including C#, Java, JavaScript, PowerShell, and Python. You can use libraries from NuGet and the Node Package Manager (npm). You can also authenticate users with the OAuth standard from providers such as Active Directory, Facebook, Google, and Microsoft Account.
1616

17-
When you write a function, you choose a template to use, depending on how you want to trigger your code. For example, if you want to execute the function in response to an HTTP request, use the **HTTPTrigger** template. You can use other templates to execute when there are new messages in a queue, a Blob storage container, or on a predefined schedule.
17+
When you write a function, you choose a template to use depending on how you want to trigger your code. For example, if you want to execute the function in response to an HTTP request, use the **HTTPTrigger** template. You can use other templates to execute when there are new messages in a queue, a Blob storage container, or on a predefined schedule.
1818

1919
When you use Azure Functions in a Consumption Plan, you're charged only for the time that your code runs.
2020

2121
## Azure API Management
2222

23-
Azure API Management is a fully managed cloud service that you can use to publish, secure, transform, maintain, and monitor APIs. It helps organizations publish APIs to external, partner, and internal developers to unlock the potential of their data and services. API Management handles all the tasks involved in mediating API calls. Including, request authentication and authorization, rate limit and quota enforcement, request and response transformation, logging and tracing, and API version management. API Management enables you to create and manage modern API gateways for existing backend services no matter where they're hosted.
23+
Azure API Management is a fully managed cloud service that you can use to publish, secure, transform, maintain, and monitor APIs. It helps organizations publish APIs to external, partner, and internal developers to unlock the potential of their data and services. API Management handles all the tasks involved in mediating API calls including request authentication and authorization, rate limit and quota enforcement, request and response transformation, logging and tracing, and API version management. API Management enables you to create and manage modern API gateways for existing backend services no matter where they're hosted.
2424

2525
Because you can publish Azure Functions through API Management, you can use them to implement a microservices architecture; each function implements a microservice. By adding several functions to a single API Management product, you can build those microservices into an integrated distributed application. Once the application is built, you can use API Management policies to implement caching or ensure security requirements.
2626

learn-pr/azure/build-serverless-api-with-functions-api-management/includes/3-exercise-import-function-app-api-management.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,11 @@ Now, let's test the ProductDetails function to see how it behaves before we add
4343
4444
:::image type="content" source="../media/3-code-test-product-details-function.png" alt-text="Screenshot of the ProductDetails Code and Test pane, with Test/Run selected in the command bar.":::
4545
46-
1. On the command bar, select **Test/Run**. The Input/Output pane appears for testing your HTTP request.
46+
1. On the command bar, select **Test/Run**. The Input/Output pane appears for testing your HTTP request.
4747
4848
1. On the **Input** tab, in the **HTTP method** field dropdown list, select **GET**.
4949
50-
1. Under **Query**, Select **Add parameter**
51-
52-
1. In the **Name** field, enter *id*, and in the **Value** field, enter *3*, and then select **Run**.
50+
1. Under **Query** in the **Name** field, enter *id*, and in the **Value** field, enter *3*. Then select **Run**.
5351
5452
:::image type="content" source="../media/3-test-input.png" alt-text="Screenshot of the input pane for Test + Run, with the input parameter for the HTTP GET method highlighted.":::
5553
@@ -59,7 +57,7 @@ Now, let's test the ProductDetails function to see how it behaves before we add
5957
6058
Optionally, you can also test the function by inputting ID values 1 and 2.
6159
62-
1. Select **Close** to close the Input Output tabs for Code + Test.
60+
1. Select **Close** to close the Input/Output tabs for Code + Test.
6361
6462
1. On the command bar of the ProductDetails Code + Test pane, select **Get function URL**. Notice that the URL subdomain is the name of your function app, followed by the **azurewebsites.net** domain.
6563
@@ -73,14 +71,14 @@ After the function app is deployed and tested, let's export it as an API using A
7371
1. In the resource menu, select **All resources**. The **All resources** pane appears.
7472

7573
1. Sort the list of resources by type. Notice you have an OrderFunction app and a ProductFunction app.
76-
74+
7775
1. Select the **ProductFunction** function app.
7876

7977
1. In the Function App menu, scroll to the **API** category, and then select **API Management**. The **API Management** pane for ProductFunction function app appears.
8078

8179
:::image type="content" source="../media/3-create-api.png" alt-text="Screenshot showing menu selection to open the API Management app service.":::
8280

83-
1. Under the **API Management** field, select **Create new**. The **Install API Management gateway** pane appears.
81+
1. Under the **API Management** field, select **Create new**. The **Create API Management service** pane appears.
8482

8583
:::image type="content" source="../media/3-api-details.png" alt-text="Screenshot showing settings for an API Management service.":::
8684

@@ -96,7 +94,7 @@ After the function app is deployed and tested, let's export it as an API using A
9694
| Administrator email | Enter an email address. |
9795
| Pricing tier | Consumption (99.95% SLA) |
9896

99-
1. Select **Next: Monitoring** and clear the **Application Insights** option.
97+
1. Select **Next: Monitor + secure** and clear the **Application Insights** option.
10098

10199
1. Select **Review + Create**. When the validation completes, select **Create** to create a linked API Management instance. Allow several minutes for the export to complete.
102100

learn-pr/azure/build-serverless-api-with-functions-api-management/includes/4-import-additional-functions-existing-api-gateway.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Microservices architectures can be difficult to manage. For example, you might rely on separate teams implementing cross-cutting requirements, such as security, in a consistent way.
22

3-
In the online store, your developer teams built the product details and order details microservices at different host URLs. Also the order details service responds by using XML. You want to ensure that all responses are in JSON format to make things easier for the client app developers.
3+
In the online store, your developer teams built the product details and order details microservices at different host URLs. Also, the order details service responds by using XML. You want to ensure that all responses are in JSON format to make things easier for the client app developers.
44

55
In this unit, you learn about the features of API Management. You can use these features to integrate different microservices and present them to client applications with consistent behavior at a single URL.
66

0 commit comments

Comments
 (0)