Skip to content

Commit ffc617d

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into communication-services-articles
2 parents cd8731e + 62aacd5 commit ffc617d

File tree

92 files changed

+1402
-395
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+1402
-395
lines changed

articles/api-center/configure-environments-deployments.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ Here you add a deployment by associating one of your APIs with the environment y
7373

7474
1. In the left menu, under **Assets**, select **APIs**.
7575

76-
1. Select an API, for example, the *Demo Conference API*.
76+
1. Select an API, for example, the *Conference API*.
7777

78-
1. On the **Demo Conference API** page, under **Details**, select **Deployments** > **+ Add deployment**.
78+
1. On the **Conference API** page, under **Details**, select **Deployments** > **+ Add deployment**.
7979

8080
1. In the **Add deployment** page, add the following information. If you previously defined the custom *Line of business* metadata or other metadata assigned to environments, you'll see them at the bottom of the page.
8181

@@ -85,7 +85,7 @@ Here you add a deployment by associating one of your APIs with the environment y
8585
|**Identification**|After you enter the preceding title, Azure API Center generates this identifier, which you can override.| Azure resource name for the deployment.|
8686
| **Description** | Optionally enter a description. | Description of the deployment. |
8787
| **Environment** | Make a selection from the dropdown, such as *My Testing*, or optionally select **Create new**.| New or existing environment where the API version is deployed. |
88-
| **Definition** | Select or add a definition file for a version of the Demo Conference API. | API definition file. |
88+
| **Definition** | Select or add a definition file for a version of the Conference API. | API definition file. |
8989
| **Runtime URL** | Enter a base URL, for example, `https://api.contoso.com`. | Base runtime URL for the API in the environment. |
9090
| **Line of business** | If you added this custom metadata, optionally make a selection from the dropdown, such as **IT**. | Custom metadata that identifies the business unit that manages APIs in the environment. |
9191

447 Bytes
Loading
35.3 KB
Loading
2.17 KB
Loading
1.58 KB
Loading

articles/api-center/register-apis.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ In this tutorial, you learn how to use the portal to:
2727
* One or more APIs that you want to register in your API center. Here are two examples, with links to their OpenAPI definitions:
2828

2929
* [Swagger Petstore API](https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml)
30-
* [Azure Demo Conference API](https://conferenceapi.azurewebsites.net?format=json)
30+
* [Conference API](https://bigconference.azurewebsites.net)
3131

3232
* Complete the previous tutorial, [Define custom metadata](add-metadata-properties.md), to define custom metadata for your APIs.
3333

@@ -41,7 +41,7 @@ When you register (add) an API in your API center, the API registration includes
4141

4242
After registering an API, you can add versions and definitions to the API.
4343

44-
The following steps register two sample APIs: Swagger Petstore API and Demo Conference API (see [Prerequisites](#prerequisites)). If you prefer, register APIs of your own.
44+
The following steps register two sample APIs: Swagger Petstore API and Conference API (see [Prerequisites](#prerequisites)). If you prefer, register APIs of your own.
4545

4646
1. In the [portal](https://portal.azure.com), navigate to your API center.
4747

@@ -70,7 +70,7 @@ The following steps register two sample APIs: Swagger Petstore API and Demo Conf
7070

7171
1. Select **Create**. The API is registered.
7272

73-
1. Repeat the preceding three steps to register another API, such as the Demo Conference API.
73+
1. Repeat the preceding three steps to register another API, such as the Conference API.
7474

7575
> [!TIP]
7676
> When you register an API in the portal, you can select any of the predefined API types or enter another type of your choice.
@@ -89,9 +89,9 @@ Here you add a version to one of your APIs:
8989

9090
1. In the portal, navigate to your API center.
9191

92-
1. In the left menu, select **APIs**, and then select an API, for example, *Demo Conference API*.
92+
1. In the left menu, select **APIs**, and then select an API, for example, *Swagger Petstore*.
9393

94-
1. On the Demo Conference API page, under **Details**, select **Versions** > **+ Add version**.
94+
1. On the API page, under **Details**, select **Versions** > **+ Add version**.
9595

9696
:::image type="content" source="media/register-apis/add-version.png" alt-text="Screenshot of adding an API version in the portal." lightbox="media/register-apis/add-version.png":::
9797

@@ -126,9 +126,9 @@ To add an API definition to your version:
126126
|**Title**| Enter a title of your choice, such as *v2 Definition*.|Name you choose for the API definition.|
127127
|**Identification**|After you enter the preceding title, Azure API Center generates this identifier, which you can override.| Azure resource name for the definition.|
128128
| **Description** | Optionally enter a description. | Description of the API definition. |
129-
| **Specification name** | For the Demo Conference API, select **OpenAPI**. | Specification format for the API.|
130-
| **Specification version** | Enter a version identifier of your choice, such as *2.0*. | Specification version. |
131-
|**Document** | Browse to a local definition file for the Demo Conference API, or enter a URL. Example URL: `https://conferenceapi.azurewebsites.net?format=json` | API definition file. |
129+
| **Specification name** | For the Petstore API, select **OpenAPI**. | Specification format for the API.|
130+
| **Specification version** | Enter a version identifier of your choice, such as *3.0*. | Specification version. |
131+
|**Document** | Browse to a local definition file for the Petstore API, or enter a URL. Example URL: `https://raw.githubusercontent.com/swagger-api/swagger-petstore/refs/heads/master/src/main/resources/openapi.yaml` | API definition file. |
132132

133133
:::image type="content" source="media/register-apis/add-definition.png" alt-text="Screenshot of adding an API definition in the portal." lightbox="media/register-apis/add-definition.png" :::
134134

articles/app-service/routine-maintenance.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Maintenance operations upgrade machines iteratively while App Service monitors t
6060

6161
### Are business hours reflected?
6262

63-
Maintenance operations are optimized to start outside the standard business hours of 9 AM to 5 PM. Statistically, that's the best time for any interruptions and restarts of workloads because there's less stress on the system (in customer applications and transitively on the platform itself). For App Service plans and App Service Environment v2, maintenance can continue into business hours during longer maintenance events.
63+
Yes, business hours are reflected for the time zone of the region. Maintenance operations are optimized to start outside the standard business hours of 9 AM to 5 PM. Statistically, that's the best time for any interruptions and restarts of workloads because there's less stress on the system (in customer applications and transitively on the platform itself). If resources are still upgrading by 9 AM in a given region, the upgrade will safely pause before the next critical step and until the end of business hours.
6464

6565
### What are my options to control routine maintenance?
6666

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Route traffic using parameter based path selection in portal - Azure Application Gateway
3-
description: Learn how to use the Azure portal to configure an Azure Application Gateway to choose the backend pool based on the value of a header, part of URL, or query string in the request.
2+
title: Route traffic using parameter-based path selection in portal - Azure Application Gateway
3+
description: Use the Azure portal to configure an application gateway to choose the backend pool based on the value of a header, part of a URL, or a query string in the request.
44
services: application-gateway
55
author: greg-lindsay
66
ms.service: azure-application-gateway
@@ -9,51 +9,47 @@ ms.date: 09/10/2024
99
ms.author: greglin
1010
ms.custom: mvc
1111
---
12-
# Perform parameter based path selection with Azure Application Gateway - Azure portal
12+
# Perform parameter-based path selection with Azure Application Gateway - Azure portal
1313

14-
This article describes how to use the Azure portal to configure an [Application Gateway v2 SKU](./application-gateway-autoscaling-zone-redundant.md) instance to perform parameter based path selection by combining the capabilities of URL Rewrite with path-based routing.
14+
This article describes how to use the Azure portal to configure an [Azure Application Gateway v2 SKU](./application-gateway-autoscaling-zone-redundant.md) instance to perform parameter-based path selection by combining the capabilities of URL Rewrite with path-based routing.
1515

1616
If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
1717

1818
## Before you begin
1919

20-
You need to have an Application Gateway v2 SKU instance to complete the steps in this article. URL rewrite and rewriting headers aren't supported in the v1 SKU. If you don't have the v2 SKU, create an [Application Gateway v2 SKU](./tutorial-autoscale-ps.md) instance before you begin.
21-
20+
You need to have an Application Gateway v2 SKU instance to finish the steps in this article. URL Rewrite and rewriting headers aren't supported in the v1 SKU. If you don't have the v2 SKU, create an [Application Gateway v2 SKU](./tutorial-autoscale-ps.md) instance before you begin.
2221

2322
## Sign in to Azure
2423

2524
Sign in to the [Azure portal](https://portal.azure.com/) with your Azure account.
2625

27-
## Configure parameter based path selection
28-
29-
For this example, you have a shopping website and the product category is passed as query string in the URL, and you want to route the request to backend based on the query string, then:
30-
31-
**Step 1:** Create a path-map as shown in the following image:
26+
## Configure parameter-based path selection
3227

33-
:::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-1.png" alt-text="A screenshot of URL rewrite scenario 1-1.":::
28+
For this example, you have a shopping website. The product category is passed as a query string in the URL. To route the request to the backend based on the query string, follow these steps.
3429

35-
**Step 2 (a):** Create a rewrite set which has 3 rewrite rules:
30+
1. Create a path map.
3631

37-
* The first rule has a condition that checks the *query_string* variable for *category=shoes* and has an action that rewrites the URL path to /*listing1* and has **Reevaluate path map** enabled
32+
:::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-1.png" alt-text="Screenshot that shows a URL Rewrite scenario 1-1.":::
3833

39-
* The second rule has a condition that checks the *query_string* variable for *category=bags* and has an action that rewrites the URL path to /*listing2* and has **Reevaluate path map** enabled
34+
1. Create a rewrite set that has three rewrite rules:
4035

41-
* The third rule has a condition that checks the *query_string* variable for *category=accessories* and has an action that rewrites the URL path to /*listing3* and has **Reevaluate path map** enabled
36+
* The first rule has a condition that checks the `query_string` variable for `category=shoes`. An action rewrites the URL path to `/listing1`. **Reevaluate path map** is enabled.
37+
* The second rule has a condition that checks the `query_string` variable for `category=bags`. An action rewrites the URL path to `/listing2`. **Reevaluate path map** is enabled.
38+
* The third rule has a condition that checks the `query_string` variable for `category=accessories`. An action rewrites the URL path to `/listing3`. **Reevaluate path map** is enabled.
4239

43-
:::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-2.png" alt-text="A screenshot of URL rewrite scenario 1-2.":::
40+
:::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-2.png" alt-text="Screenshot that shows the URL Rewrite scenario 1-2.":::
4441

45-
46-
**Step 2 (b):** Associate this rewrite set with the default path of the previous path-based rule:
42+
1. Associate this rewrite set with the default path of the previous path-based rule.
4743

48-
:::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-3.png" alt-text="A screenshot of URL rewrite scenario 1-3.":::
44+
:::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-3.png" alt-text="Screenshot that shows the URL rewrite scenario 1-3.":::
4945

50-
If the user requests *contoso.com/listing?category=any*, then it's matched with the default path since none of the path patterns in the path map (/listing1, /listing2, /listing3) are matched. Since you associated the previous rewrite set with this path, this rewrite set is evaluated. Because the query string doesn't match the condition in any of the 3 rewrite rules in this rewrite set, no rewrite action takes place. Therefore, the request is routed unchanged to the backend associated with the default path (which is *GenericList*).
46+
If the user requests `contoso.com/listing?category=any`, it's matched with the default path because the path patterns in the path map (`/listing1`, /`listing2`, /`listing3`) don't match. Because you associated the previous rewrite set with this path, this rewrite set is evaluated. The query string doesn't match the condition in any of the three rewrite rules in this rewrite set, so no rewrite action takes place. The request is routed unchanged to the backend associated with the default path (which is `GenericList`).
5147

52-
If the user requests *contoso.com/listing?category=shoes*, then the default path is matched. However, in this case, the condition in the first rule matches. Therefore, the action associated with the condition is executed, which rewrites the URL path to /*listing1* and reevaluates the path-map. When the path-map is reevaluated, the request matches the path associated with pattern */listing1* and the request is routed to the backend associated with this pattern (ShoesListBackendPool).
48+
If the user requests `contoso.com/listing?category=shoes`, the default path is matched. In this case, the condition in the first rule matches. The action associated with the condition is executed, which rewrites the URL path to `/listing1` and reevaluates the path map. When the path map is reevaluated, the request matches the path associated with the pattern `/listing1`. The request is routed to the backend associated with this pattern (`ShoesListBackendPool`).
5349

5450
> [!NOTE]
55-
> This scenario can be extended to any header or cookie value, URL path, query string or server variables based on the conditions defined and essentially enables you to route requests based on those conditions.
51+
> You can extend this scenario to any header or cookie value, URL path, query string, or server variables based on the conditions defined. You can then route requests based on those conditions.
5652
57-
## Next steps
53+
## Related content
5854

59-
To learn more about how to set up some common use cases, see [common header rewrite scenarios](./rewrite-http-headers-url.md).
55+
To learn more about how to set up some common use cases, see [Common header rewrite scenarios](./rewrite-http-headers-url.md).

0 commit comments

Comments
 (0)