Skip to content

Commit 5398178

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into waf-insights
2 parents 3c895fd + ab1bfa1 commit 5398178

98 files changed

Lines changed: 2324 additions & 1254 deletions

File tree

Some content is hidden

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

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6845,6 +6845,11 @@
68456845
"redirect_url": "/azure/reliability/reliability-nat-gateway",
68466846
"redirect_document_id": false
68476847
},
6848+
{
6849+
"source_path": "articles/iot-operations/connect-to-cloud/howto-configure-opentelemetry-endpoint.md",
6850+
"redirect_url": "/azure/iot-operations/connect-to-cloud/open-telemetry",
6851+
"redirect_document_id": false
6852+
},
68486853
{
68496854
"source_path": "articles/synapse-analytics/sql/get-started-azure-data-studio.md",
68506855
"redirect_url": "/azure/synapse-analytics/sql/get-started-ssms",

articles/api-management/azure-openai-semantic-cache-lookup-policy.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.collection: ce-skilling-ai-copilot
99
ms.custom:
1010
- build-2024
1111
ms.topic: reference
12-
ms.date: 10/27/2025
12+
ms.date: 02/23/2026
1313
ms.update-cycle: 180-days
1414
ms.author: danlep
1515
---
@@ -23,6 +23,8 @@ Use the `azure-openai-semantic-cache-lookup` policy to perform cache lookup of r
2323
> [!NOTE]
2424
> * This policy must have a corresponding [Cache responses to Azure OpenAI API requests](azure-openai-semantic-cache-store-policy.md) policy.
2525
> * For prerequisites and steps to enable semantic caching, see [Enable semantic caching for LLM APIs in Azure API Management](azure-openai-enable-semantic-caching.md).
26+
> * Because semantic caching returns responses based on similarity (not exact match), it can surface responses that are incorrect, outdated, or unsafe for the current request. Evaluate this feature carefully for your workload and include safeguards.
27+
2628

2729
[!INCLUDE [api-management-policy-generic-alert](../../includes/api-management-policy-generic-alert.md)]
2830

articles/api-management/azure-openai-semantic-cache-store-policy.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.collection: ce-skilling-ai-copilot
99
ms.custom:
1010
- build-2024
1111
ms.topic: reference
12-
ms.date: 12/13/2024
12+
ms.date: 02/23/2026
1313
ms.update-cycle: 180-days
1414
ms.author: danlep
1515
---
@@ -23,6 +23,8 @@ The `azure-openai-semantic-cache-store` policy caches responses to Azure OpenAI
2323
> [!NOTE]
2424
> * This policy must have a corresponding [Get cached responses to Azure OpenAI API requests](azure-openai-semantic-cache-lookup-policy.md) policy.
2525
> * For prerequisites and steps to enable semantic caching, see [Enable semantic caching for Azure OpenAI APIs in Azure API Management](azure-openai-enable-semantic-caching.md).
26+
> * Because semantic caching returns responses based on similarity (not exact match), it can surface responses that are incorrect, outdated, or unsafe for the current request. Evaluate this feature carefully for your workload and include safeguards.
27+
2628

2729
[!INCLUDE [api-management-policy-generic-alert](../../includes/api-management-policy-generic-alert.md)]
2830

articles/api-management/ip-filter-policy.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: dlepow
66

77
ms.service: azure-api-management
88
ms.topic: reference
9-
ms.date: 07/23/2024
9+
ms.date: 02/23/2026
1010
ms.author: danlep
1111
---
1212
# Restrict caller IPs
@@ -49,7 +49,9 @@ The `ip-filter` policy filters (allows/denies) calls from specific IP addresses
4949

5050
### Usage notes
5151

52-
If you configure this policy at more than one scope, IP filtering is applied in the order of [policy evaluation](set-edit-policies.md#use-base-element-to-set-policy-evaluation-order) in your policy definition.
52+
- If you configure this policy at more than one scope, IP filtering is applied in the order of [policy evaluation](set-edit-policies.md#use-base-element-to-set-policy-evaluation-order) in your policy definition.
53+
54+
- If `action` is set to `allow`, requests that don't match any `address` or `address-range` are denied. If `action` is set to `forbid`, requests that don't match any `address` or `address-range` are allowed.
5355

5456
## Example
5557

articles/api-management/llm-semantic-cache-lookup-policy.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.collection: ce-skilling-ai-copilot
99
ms.custom:
1010
- build-2024
1111
ms.topic: reference
12-
ms.date: 10/27/2025
12+
ms.date: 02/23/2026
1313
ms.update-cycle: 180-days
1414
ms.author: danlep
1515
---
@@ -23,6 +23,7 @@ Use the `llm-semantic-cache-lookup` policy to perform cache lookup of responses
2323
> [!NOTE]
2424
> * This policy must have a corresponding [Cache responses to large language model API requests](llm-semantic-cache-store-policy.md) policy.
2525
> * For prerequisites and steps to enable semantic caching, see [Enable semantic caching for LLM APIs in Azure API Management](azure-openai-enable-semantic-caching.md).
26+
> * Because semantic caching returns responses based on similarity (not exact match), it can surface responses that are incorrect, outdated, or unsafe for the current request. Evaluate this feature carefully for your workload and include safeguards.
2627
2728
[!INCLUDE [api-management-policy-generic-alert](../../includes/api-management-policy-generic-alert.md)]
2829

articles/api-management/llm-semantic-cache-store-policy.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.service: azure-api-management
88
ms.collection: ce-skilling-ai-copilot
99
ms.custom:
1010
ms.topic: reference
11-
ms.date: 12/13/2024
11+
ms.date: 02/23/2026
1212
ms.update-cycle: 180-days
1313
ms.author: danlep
1414
---
@@ -22,6 +22,7 @@ The `llm-semantic-cache-store` policy caches responses to chat completion API re
2222
> [!NOTE]
2323
> * This policy must have a corresponding [Get cached responses to large language model API requests](llm-semantic-cache-lookup-policy.md) policy.
2424
> * For prerequisites and steps to enable semantic caching, see [Enable semantic caching for Azure OpenAI APIs in Azure API Management](azure-openai-enable-semantic-caching.md).
25+
> * Because semantic caching returns responses based on similarity (not exact match), it can surface responses that are incorrect, outdated, or unsafe for the current request. Evaluate this feature carefully for your workload and include safeguards.
2526
2627
[!INCLUDE [api-management-policy-generic-alert](../../includes/api-management-policy-generic-alert.md)]
2728

articles/api-management/validate-content-policy.md

Lines changed: 70 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ author: dlepow
66

77
ms.service: azure-api-management
88
ms.topic: reference
9-
ms.date: 08/30/2024
9+
ms.date: 02/23/2026
1010
ms.author: danlep
1111
---
1212

1313
# Validate content
1414

1515
[!INCLUDE [api-management-availability-all-tiers](../../includes/api-management-availability-all-tiers.md)]
1616

17-
The `validate-content` policy validates the size or content of a request or response body against one or more [supported schemas](#schemas-for-content-validation).
17+
The `validate-content` policy validates the size or content (or both) of a request or response body against one or more [supported schemas](#schemas-for-content-validation).
1818

1919
The following table shows the schema formats and request or response content types that the policy supports. Content type values are case insensitive.
2020

@@ -161,6 +161,74 @@ In the following example, API Management interprets any request as a request wit
161161
</validate-content>
162162
```
163163

164+
### Complete policy example with content validation
165+
166+
The following example shows a complete policy document for a customer order API that uses `validate-content` to validate incoming requests and outgoing responses. The policy validates that customer order payloads conform to the `customer-order-schema` (added to API Management) before forwarding them to the backend, and also validates that the backend's order confirmation matches the expected schema, but only detects issues rather than blocking them.
167+
168+
169+
```xml
170+
<policies>
171+
<inbound>
172+
<base />
173+
<!-- Authenticate the request -->
174+
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized">
175+
<openid-config url="https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration" />
176+
<audiences>
177+
<audience>api://customer-orders</audience>
178+
</audiences>
179+
</validate-jwt>
180+
181+
<!-- Rate limit per subscription -->
182+
<rate-limit-by-key calls="100" renewal-period="60" counter-key="@(context.Subscription.Id)" />
183+
184+
<!-- Validate incoming order request -->
185+
<validate-content unspecified-content-type-action="prevent" max-size="524288" size-exceeded-action="prevent" errors-variable-name="requestValidationErrors">
186+
<content type="application/json" validate-as="json" schema-id="customer-order-schema" action="prevent" allow-additional-properties="false" />
187+
</validate-content>
188+
189+
<!-- Set backend URL -->
190+
<set-backend-service base-url="https://orders-backend.contoso.com/api" />
191+
</inbound>
192+
<backend>
193+
<base />
194+
</backend>
195+
<outbound>
196+
<base />
197+
198+
<!-- Validate backend response -->
199+
<validate-content unspecified-content-type-action="detect" max-size="1048576" size-exceeded-action="detect" errors-variable-name="responseValidationErrors">
200+
<content type="application/json" validate-as="json" schema-id="order-confirmation-schema" action="detect" />
201+
</validate-content>
202+
203+
<!-- Add custom header to indicate validation passed -->
204+
<set-header name="X-Content-Validated" exists-action="override">
205+
<value>true</value>
206+
</set-header>
207+
</outbound>
208+
<on-error>
209+
<base />
210+
<!-- Return validation errors in a structured format -->
211+
<choose>
212+
<when condition="@(context.Variables.ContainsKey("requestValidationErrors"))">
213+
<return-response>
214+
<set-status code="400" reason="Bad Request" />
215+
<set-header name="Content-Type" exists-action="override">
216+
<value>application/json</value>
217+
</set-header>
218+
<set-body>@{
219+
var errors = (IEnumerable<object>)context.Variables["requestValidationErrors"];
220+
return JsonConvert.SerializeObject(new {
221+
error = "Request validation failed",
222+
details = errors
223+
});
224+
}</set-body>
225+
</return-response>
226+
</when>
227+
</choose>
228+
</on-error>
229+
</policies>
230+
```
231+
164232
[!INCLUDE [api-management-validation-policy-error-reference](../../includes/api-management-validation-policy-error-reference.md)]
165233

166234
## Related policies

articles/azure-cache-for-redis/cache-event-grid.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Use Azure Event Grid to publish Azure Cache for Redis events.
44
ms.date: 12/21/2020
55
appliesto:
66
- ✅ Azure Cache for Redis
7-
ms.topic: conceptual
7+
ms.topic: concept-article
88

99
---
1010

articles/azure-functions/deployment-zip-push.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Zip push deployment for Azure Functions
33
description: Use the .zip file deployment facilities of the Kudu deployment service to publish your Azure Functions.
44

5-
ms.topic: conceptual
5+
ms.topic: concept-article
66
ms.date: 05/06/2025
77
ms.custom:
88
- devx-track-azurecli

articles/azure-functions/durable/durable-task-scheduler/durable-task-scheduler-work-item-throughput.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Azure Functions Durable Task Scheduler action throughput for Durable Functions
33
description: Learn about how the Azure Functions Durable Task Scheduler provides high action throughput for use with Durable Functions.
4-
ms.topic: conceptual
4+
ms.topic: concept-article
55
ms.date: 10/22/2025
66
---
77

0 commit comments

Comments
 (0)