Skip to content

Commit 7caf844

Browse files
committed
Merge branch 'main' into release-asr-pv2-pup
2 parents 5be7c5b + 54c5697 commit 7caf844

File tree

82 files changed

+499
-780
lines changed

Some content is hidden

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

82 files changed

+499
-780
lines changed

articles/api-management/api-management-region-availability.md

Lines changed: 2 additions & 4 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: concept-article
9-
ms.date: 04/29/2025
9+
ms.date: 05/28/2025
1010
ms.author: danlep
1111
ms.custom: references_regions
1212
---
@@ -47,12 +47,10 @@ Information in the following table is updated regularly. Capacity availability i
4747
| Switzerland North ||| | |
4848
| UK South |||||
4949
| UK West ||| | |
50-
| West Europe ||| |<sup>1</sup> |
50+
| West Europe ||| ||
5151
| West US ||| ||
5252
| West US 2 ||| | |
5353

54-
<sup>1</sup> Request access to this region by emailing `[email protected]`
55-
5654
## Related content
5755

5856
Learn more about:

articles/app-service/invoke-openapi-web-app-from-azure-ai-agent-service.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
---
2-
title: 'Invoke an OpenAPI App Service web app from Azure AI Agent Service'
3-
description: Learn how to integrate App Service with AI Agent Service and get started with agentic AI
2+
title: 'Invoke an OpenAPI App Service web app from Azure AI Foundry Agent Service'
3+
description: Learn how to integrate App Service with AI Foundry Agent Service and get started with agentic AI
44
author: seligj95
55
ms.author: jordanselig
6-
ms.date: 04/25/2025
6+
ms.date: 05/28/2025
77
ms.topic: article
88
ms.custom: devx-track-dotnet
99
ms.collection: ce-skilling-ai-copilot
1010
---
1111

12-
# Invoke an OpenAPI App Service web app from Azure AI Agent Service
12+
# Invoke an OpenAPI App Service web app from Azure AI Foundry Agent Service
1313

14-
[Azure AI Agent Service](/azure/ai-services/agents/overview) allows you to create AI agents tailored to your needs through custom instructions and augmented by advanced tools like code interpreter, and custom functions. You can now connect your Azure AI Agent to an external API using an [OpenAPI 3.0](https://www.openapis.org/what-is-openapi) specified tool, allowing for scalable interoperability with various applications.
14+
[Azure AI Foundry Agent Service](/azure/ai-services/agents/overview) allows you to create AI agents tailored to your needs through custom instructions and augmented by advanced tools like code interpreter, and custom functions. You can now connect your Azure AI Agent to an external API using an [OpenAPI 3.0](https://www.openapis.org/what-is-openapi) specified tool, allowing for scalable interoperability with various applications.
1515

16-
Azure App Service is a fully managed platform for building, deploying, and scaling web apps and APIs. If your API is hosted on Azure App Service, you can connect your AI Agent to the API using the OpenAPI specification. The OpenAPI specification defines the API and how to interact with it. You can then use natural language to invoke the API through your AI Agent.
16+
Azure App Service is a fully managed platform for building, deploying, and scaling web apps and APIs. If your API is hosted on Azure App Service, you can connect your AI Agent to the API using the OpenAPI specification. The OpenAPI specification defines the API and how to interact with it. You can then use natural language to invoke the API through your AI Agent. This tool is powerful because it allows you to add AI agent capabilities to your existing apps with minimal code changes. Also, this agent has the ability to directly interact with your app. There's no need for significant code changes or implementation work other thank minor updates to interact with the agent using the available SDKs.
1717

18-
In this tutorial, you're using an Azure AI Agent to invoke an API hosted on Azure App Service. By the end of this tutorial, you have a fashion assistant chat application running in App Service using an AI agent from the Azure AI Agent Service.
18+
In this tutorial, you're using an Azure AI Foundry Agent to invoke an existing API hosted on Azure App Service. By the end of this tutorial, you have a fashion assistant chat application running in App Service using an AI agent from the Azure AI Foundry Agent Service.
1919

2020
:::image type="content" source="media/invoke-openapi-web-app-from-azure-ai-agent-service/browse-app.png" alt-text="A screenshot showing an AI agent running within App Service.":::
2121

@@ -137,10 +137,10 @@ azd down
137137
1. **Chat Not Working**
138138
- Verify that the environment variables (`AzureAIAgent__ConnectionString` and `AzureAIAgent__AgentId`) are correctly set in the App Service environment variables.
139139
- Check that the AI Agent is properly created and configured with the correct OpenAPI tool.
140-
- Ensure the OpenAPI specification URL is accessible from the Azure AI Agent Service.
140+
- Ensure the OpenAPI specification URL is accessible from the Azure AI Foundry Agent Service.
141141
- Ensure the App Service URL is updated in the `swagger.json` provided to the OpenAPI Specified Tool.
142142
1. **Permission Issues**
143-
- If you encounter authentication errors, ensure that your App Service's managed identity has proper permissions to access the Azure AI Agent Service. The managed identity needs at least the `Microsoft.MachineLearningServices/workspaces/agents/action` permission to interact with the Agent. The provided "Azure AI Developer role" has this permission and should be sufficient. If you decide to change this role, be sure it has the necessary permission.
143+
- If you encounter authentication errors, ensure that your App Service's managed identity has proper permissions to access the Azure AI Foundry Agent Service. The managed identity needs at least the `Microsoft.MachineLearningServices/workspaces/agents/action` permission to interact with the Agent. The provided "Azure AI Developer role" has this permission and should be sufficient. If you decide to change this role, be sure it has the necessary permission.
144144
1. **API Issues**
145145
- If the agent is unable to perform actions on the inventory or cart, check the API routes in the OpenAPI specification.
146146
- Verify that the API endpoints are responding correctly by testing them directly in the Swagger UI at `/api/docs`.
@@ -183,7 +183,7 @@ Beyond basic interactions, the AI agent can handle more complex scenarios:
183183
184184
## Security Considerations
185185
186-
- The application uses Azure managed identities for secure authentication to Azure AI Agent Service in production environments.
186+
- The application uses Azure managed identities for secure authentication to Azure AI Foundry Agent Service in production environments.
187187
- You can further secure your app and agent using any of the standard practices and Azure resources. For secure Azure AI Agent infrastructure templates, see the [azureai-samples repo](https://github.com/Azure-Samples/azureai-samples/tree/main/scenarios/Agents/setup).
188188
189189
## Next steps
@@ -197,4 +197,4 @@ Now that you learned how to connect your AI Agent to an API on Azure App Service
197197
> [Tutorial: Run chatbot in App Service with a Phi-4 sidecar extension (ASP.NET Core)](tutorial-ai-slm-dotnet.md)
198198
199199
> [!div class="nextstepaction"]
200-
> [Deploy a .NET Blazor app connected to Azure SQL and Azure OpenAI on Azure App Service](./deploy-intelligent-apps-dotnet-to-azure-sql.md)
200+
> [Deploy a .NET Blazor app connected to Azure SQL and Azure OpenAI on Azure App Service](./deploy-intelligent-apps-dotnet-to-azure-sql.md)

articles/app-service/overview-access-restrictions.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,8 @@ In this scenario, you're accessing your site through a private endpoint and are
130130

131131
Traffic from Azure Front Door to your application originates from a well known set of IP ranges defined in the `AzureFrontDoor.Backend` service tag. Using a service tag restriction rule, you can restrict traffic to only originate from Azure Front Door. To ensure traffic only originates from your specific instance, you need to further filter the incoming requests based on the unique http header that Azure Front Door sends called X-Azure-FDID. You can find the Front Door ID in the portal.
132132

133+
Alternatively, [Azure Private Link](../frontdoor/private-link.md) enables you to access Azure PaaS services and services hosted in Azure over a private endpoint in your virtual network. Traffic between your virtual network and the service goes over the Microsoft backbone network, eliminating exposure to the public Internet. Azure Front Door Premium can connect to your origin using Private Link. Your origin can be hosted in a virtual network or hosted as a PaaS service such as an Azure Web App. Private Link removes the need for your origin to be accessed publicly. To learn how to connect Azure Front Door to your App Service app with private link, see [Connect Azure Front Door Premium to an App Service (Web App or Function App) origin with Private Link](../frontdoor/standard-premium/how-to-enable-private-link-web-app.md).
134+
133135
## Next steps
134136
> [!NOTE]
135137
> Access restriction rules that block public access to your site can also block services such as log streaming. If you require these, you will need to allow your App Service's IP address in your restrictions.

articles/azure-app-configuration/howto-best-practices.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ To address these concerns, we recommend that you use a proxy service between you
239239

240240
## Multitenant applications in App Configuration
241241

242-
A multitenant application is built on an architecture where a shared instance of your application serves multiple customers or tenants. For example, you may have an email service that offers your users separate accounts and customized experiences. Your application usually manages different configurations for each tenant. Here are some architectural considerations for [using App Configuration in a multitenant application](/azure/architecture/guide/multitenant/service/app-configuration).
242+
A multitenant application is built on an architecture where a shared instance of your application serves multiple customers or tenants. For example, you may have an email service that offers your users separate accounts and customized experiences. Your application usually manages different configurations for each tenant. Here are some architectural considerations for [using App Configuration in a multitenant application](/azure/architecture/guide/multitenant/service/app-configuration). You can also reference the [example code for multitenant application setup](https://github.com/Azure/AppConfiguration/blob/main/examples/DotNetCore/MultiTenantApplicationSetup/README.md).
243243

244244
## Configuration as Code
245245

articles/azure-cache-for-redis/cache-best-practices-kubernetes.md

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,51 @@
11
---
2-
title: Best practices for hosting a Kubernetes client application
3-
description: Learn how to host a Kubernetes client application.
2+
title: Best practices for Kubernetes-hosted client apps
3+
description: Learn about best practices for using Azure Cache for Redis in Kubernetes-hosted client applications.
44
ms.custom: linux-related-content, ignite-2024
55
ms.topic: conceptual
6-
ms.date: 11/10/2023
6+
ms.date: 05/28/2025
77
appliesto:
88
- ✅ Azure Cache for Redis
99

1010
---
1111

12-
# Kubernetes-hosted client application
12+
# Kubernetes-hosted client applications
1313

14-
## Client connections from multiple pods
14+
This article provides best practices for using Azure Cache for Redis in Kubernetes-hosted client applications.
1515

16-
When you have multiple pods connecting to a Redis server, make sure the new connections from the pods are created in a staggered manner. If multiple pods start in a short time without staggering, it causes a sudden spike in the number of client connections created. The high number of connections leads to high load on the Redis server and might cause timeouts.
16+
## Stagger multiple connections
1717

18-
Avoid the same scenario when shutting down multiple pods at the same time. Failing to stagger shutdown might cause a steep dip in the number of connections that leads to CPU pressure.
18+
Make sure to stagger multiple pod connections to a Redis server. Starting multiple pods in a short time without staggering causes a sudden spike in the number of client connections, leading to high load on the Redis server and possible timeouts.
1919

20-
## Sufficient pod resources
20+
Also avoid shutting down multiple pods at the same time. Failing to stagger shutdown might cause a steep dip in the number of connections leading to CPU pressure.
2121

22-
Ensure that the pod running your client application is given enough CPU and memory resources. If the client application is running close to its resource limits, it can result in timeouts.
22+
## Provide sufficient pod resources
2323

24-
## Sufficient node resources
24+
Make sure to give the pod running your client application enough CPU and memory resources. Client applications running close to their resource limits can lead to timeouts.
2525

26-
A pod running the client application can be affected by other pods running on the same node and throttle Redis connections or IO operations. So always ensure that the node on which your client application pods run have enough memory, CPU, and network bandwidth. Running low on any of these resources could result in connectivity issues.
26+
## Provide sufficient node resources
2727

28-
## Linux-hosted client applications and TCP settings
28+
The pod running the client application can be affected by other pods running on the same node, and throttle Redis connections or IO operations. Make sure the nodes that run your client application pods have enough memory, CPU, and network bandwidth. Insufficient amounts of these resources could result in connectivity issues.
2929

30-
If your Azure Cache for Redis client application runs on a Linux-based container, we recommend updating some TCP settings. These settings are detailed in [TCP settings for Linux-hosted client applications](cache-best-practices-connection.md#tcp-settings-for-linux-hosted-client-applications).
30+
## Check TCP settings for Linux applications
3131

32-
## Potential connection collision with _Istio/Envoy_
32+
If your Azure Redis client application runs on a Linux-based container, make sure your TCP settings match the [TCP settings for Linux-hosted client applications](cache-best-practices-connection.md#tcp-settings-for-linux-hosted-client-applications).
33+
34+
## Avoid connection collision with Istio
3335

3436
<!-- Currently, Azure Cache for Redis uses ports 15xxx for clustered caches to expose cluster nodes to client applications. As documented [here](https://istio.io/latest/docs/ops/deployment/application-requirements/#ports-used-by-istio), the same ports are also used by _Istio.io_ sidecar proxy called _Envoy_ and could interfere with creating connections, especially on port 15001 and 15006. -->
3537

36-
When using _Istio_ with an Azure Managed Redis cluster, consider excluding the potential collision ports with an [istio annotation](https://istio.io/latest/docs/reference/config/annotations/).
38+
If you use Istio with an Azure Managed Redis cluster, consider excluding potential collision ports with the following [Istio annotation](https://istio.io/latest/docs/reference/config/annotations/):
3739

38-
```
40+
```console
3941
annotations:
4042
traffic.sidecar.istio.io/excludeOutboundPorts: "15000,15001,15004,15006,15008,15009,15020"
4143
```
4244

43-
To avoid connection interference, we recommend:
45+
To avoid connection interference:
4446

45-
- Consider using a nonclustered cache or an Enterprise tier cache instead
46-
- Avoid configuring _Istio_ sidecars on pods running Azure Cache for Redis client code
47+
- Consider using a nonclustered cache or an Azure Managed Redis cache instead.
48+
- Avoid configuring Istio sidecars on pods running Azure Redis client code.
4749

4850
## Related content
4951

0 commit comments

Comments
 (0)