Skip to content

Commit 6c6a8d7

Browse files
Merge pull request #310507 from MicrosoftDocs/main
Auto Publish – main to live - 2026-01-14 23:00 UTC
2 parents 361022e + 11329b0 commit 6c6a8d7

14 files changed

Lines changed: 354 additions & 104 deletions

articles/app-service/overview-inbound-outbound-ips.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn how inbound and outbound IP addresses are used in Azure App S
44
author: msangapu-msft
55
ms.author: msangapu
66
ms.topic: concept-article
7-
ms.date: 08/05/2025
7+
ms.date: 01/14/2026
88
ms.update-cycle: 1095-days
99
ms.custom:
1010
- UpdateFrequency3
@@ -119,9 +119,6 @@ The tag can be used to allow outbound traffic in a Network security group (NSG)
119119

120120
Azure App Service supports IPv6 for inbound traffic on all Basic, Standard, and Premium SKUs, as well as Functions Consumption, Functions Elastic Premium, and Logic Apps Standard plans. Apps can receive traffic over both IPv4 and IPv6 protocols, providing compatibility with modern networks and clients that require IPv6 connectivity.
121121

122-
> [!NOTE]
123-
> Outbound IPv6 support is in public preview just for Windows apps. For more information on outbound IPv6 support, see [Announcing App Service Outbound IPv6 Support in Public Preview](https://techcommunity.microsoft.com/blog/appsonazureblog/announcing-app-service-outbound-ipv6-support-in-public-preview/4423368). All outbound connections from your Linux apps still use IPv4.
124-
125122
### Prerequisites
126123

127124
To use IPv6 inbound traffic, you need:
@@ -215,6 +212,12 @@ When using custom domains, you can configure DNS records to support IPv6:
215212
- **IPv6 only**: Add an AAAA record pointing to your app's IPv6 address. Clients must support IPv6.
216213
- **Dual-stack**: Add both A (IPv4) and AAAA (IPv6) records, or use a CNAME record to the default hostname, which inherits the `IPMode` behavior.
217214

215+
## Outbound IPv6 support (preview)
216+
217+
Azure App Service supports IPv6 for outbound traffic in public preview for both Windows and Linux sites. Public preview of outbound IPv6 support for multitenant apps is supported on all App Service plan SKUs, Functions Consumption, Functions Elastic Premium, and Logic Apps Standard.
218+
219+
For more information on outbound IPv6 support, including how to enable it and platform-specific behavior, see [Announcing App Service Outbound IPv6 Support in Public Preview](https://techcommunity.microsoft.com/blog/appsonazureblog/announcing-app-service-outbound-ipv6-support-in-public-preview/4423368).
220+
218221
## Related content
219222

220223
* Learn how to [restrict inbound traffic](./app-service-ip-restrictions.md) by source IP addresses.

articles/application-gateway/application-gateway-private-deployment.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ A list of all Azure CLI references for Private Link Configuration on Application
176176
After registering the feature, configuration of NSG, Route Table, and private IP address frontend configuration can be performed using any methods. For example: REST API, ARM Template, Bicep deployment, Terraform, PowerShell, CLI, or Portal.
177177

178178
> [!NOTE]
179-
> If your client application connects to App Gateway via a private IP, requires an idle timeout greater > than 4 minutes, and the client application does not send TCP keep-alive packets, contact appgw-idle-timeout@microsoft.com to request initiation of keep‑alive from Application Gateway.
179+
> If your client application connects to App Gateway via a private IP, requires an idle timeout greater > than 4 minutes, and the client application does not send TCP keep-alive packets, contact agprivateip-keepalive@microsoft.com to request initiation of keep‑alive from Application Gateway.
180180
181181
## Application Gateway Subnet
182182

articles/application-gateway/private-link-configure.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ To enable Private Link configuration, you must have a dedicated subnet that's se
5353
To create a dedicated subnet for Private Link, see [Add, change, or delete a virtual network subnet](../virtual-network/virtual-network-manage-subnet.md).
5454

5555
> [!NOTE]
56-
> If your client application connects to App Gateway via a private IP, requires an idle timeout greater > than 4 minutes, and the client application does not send TCP keep-alive packets, contact appgw-idle-timeout@microsoft.com to request initiation of keep‑alive from Application Gateway.
56+
> If your client application connects to App Gateway via a private IP, requires an idle timeout greater > than 4 minutes, and the client application does not send TCP keep-alive packets, contact agprivateip-keepalive@microsoft.com to request initiation of keep‑alive from Application Gateway.
5757
5858
# [Azure portal](#tab/portal)
5959

articles/azure-app-configuration/TOC.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,12 @@
194194
href: quickstart-chat-completion-dotnet.md
195195
- name: Go
196196
href: quickstart-chat-completion-go.md
197+
- name: Agent framework
198+
items:
199+
- name: Get started
200+
href: howto-ai-agent-config.md
201+
- name: Python
202+
href: howto-ai-agent-config-python.md
197203
- name: Feature management
198204
items:
199205
- name: Overview

articles/azure-app-configuration/concept-ai-configuration.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,16 @@ Chat completion is an AI capability that produces human-like dialogue responses
5252
Azure OpenAI Service supports a diverse set of models from OpenAI. For more information, see [Azure OpenAI Service models](/azure/ai-services/openai/concepts/models). To learn more about models from Anthropic, refer to the [Claude models documentation](https://docs.anthropic.com/docs/about-claude/models/overview).
5353
For more details about models provided by Google, see the [Gemini models documentation](https://ai.google.dev/gemini-api/docs/models).
5454

55+
## Agent framework
56+
57+
Agent framework is a comprehensive multi-language framework for building, orchestrating and deploying AI agents with support for both .NET and Python. This framework provides everything from simple chat agents to complex multi-agents workflows. For more information, refer to the [Microsoft Agent Framework documentation](/agent-framework/overview/agent-framework-overview). To see how App Configuration can help configure Agent Framework applications, visit the [getting started](./howto-ai-agent-config.md) guide.
58+
5559
## Next steps
5660

5761
Continue to the following instructions to use AI configuration in your application:
5862

5963
> [!div class="nextstepaction"]
60-
> [Chat completion configuration](./howto-chat-completion-config.md)
64+
> [Chat completion configuration](./howto-chat-completion-config.md)
65+
66+
> [!div class="nextstepaction"]
67+
> [Agent framework](./howto-ai-agent-config.md)
Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
---
2+
title: How to use Agent Framework in a Python app with Azure App Configuration
3+
titleSuffix: Azure App Configuration
4+
description: Learn how to use Agent Framework in a Python app with Azure App Configuration.
5+
ms.service: azure-app-configuration
6+
author: MaryanneNjeri
7+
ms.author: mgichohi
8+
ms.topic: how-to
9+
ms.date: 11/10/2025
10+
ms.update-cycle: 180-days
11+
ms.collection: ce-skilling-ai-copilot
12+
---
13+
14+
# Use Agent Framework in a Python app with Azure App Configuration
15+
16+
In this guide, you build an AI agent chat application using Azure App Configuration to load agent YAML specifications that define AI agent behavior, prompts and model configurations.
17+
18+
The full sample source code is available in the [Azure App Configuration GitHub repository](https://github.com/Azure/AppConfiguration/tree/main/examples/Python/ChatAgent).
19+
20+
## Prerequisites
21+
22+
- Create an _Azure AI project_ in Microsoft Foundry and configure the _example agent settings_ discussed in the [Get started](./howto-ai-agent-config.md#example-agent-settings) section.
23+
- Python 3.10 or later - for information on setting up Python on Windows, see the [Python on Windows documentation](/windows/python/).
24+
25+
## Console application
26+
27+
In this section, you create a console application and load the agent YAML specification from your App Configuration store.
28+
29+
1. Create a new folder for your project. In the new folder, install the following packages by using the `pip install` command:
30+
31+
```console
32+
pip install azure-appconfiguration-provider
33+
pip install agent-framework-declarative --pre
34+
pip install azure-identity
35+
```
36+
37+
1. Create a new file called _app.py_, and add the following import statements:
38+
39+
```python
40+
import asyncio
41+
import os
42+
from agent_framework.declarative import AgentFactory
43+
from azure.identity import DefaultAzureCredential
44+
from azure.appconfiguration.provider import load
45+
```
46+
47+
1. You can connect to Azure App Configuration using either Microsoft Entra ID (recommended) or a connection string. In this example, you use Microsoft Entra ID with `DefaultAzureCredential` to authenticate to your App Configuration store. Follow these [instructions](./concept-enable-rbac.md#authentication-with-token-credentials) to assign the **App Configuration Data Reader** role to the identity represented by `DefaultAzureCredential`. Be sure to allow sufficient time for the permission to propagate before running your application.
48+
49+
```python
50+
async def main():
51+
endpoint = os.environ["AZURE_APPCONFIGURATION_ENDPOINT"]
52+
53+
# Connect to Azure App Configuration using Microsoft Entra ID.
54+
credential = DefaultAzureCredential()
55+
56+
config = load(endpoint=endpoint, credential=credential)
57+
```
58+
59+
1. Update the code in _app.py_ to retrieve the agent specification from the configuration, create the agent from the YAML spec and handle user interaction:
60+
61+
```python
62+
async def main():
63+
endpoint = os.environ["AZURE_APPCONFIGURATION_ENDPOINT"]
64+
65+
# Connect to Azure App Configuration using Microsoft Entra ID.
66+
credential = DefaultAzureCredential()
67+
68+
config = load(endpoint=endpoint, credential=credential)
69+
70+
agent_spec = config["ChatAgent:Spec"]
71+
72+
agent = AgentFactory(client_kwargs={"credential": credential, "project_endpoint": config["ChatAgent:ProjectEndpoint"]}).create_agent_from_yaml(agent_spec)
73+
74+
while True:
75+
print("How can I help? (type 'quit' to exit)")
76+
77+
user_input = input("User: ")
78+
79+
if user_input.lower() in ['quit', 'exit', 'bye']:
80+
break
81+
82+
response = await agent.run(user_input)
83+
print("Agent response: ", response.text)
84+
input("Press enter to continue...")
85+
86+
print("Exiting... Goodbye...")
87+
88+
if __name__ == "__main__":
89+
asyncio.run(main())
90+
```
91+
92+
1. After completing the previous steps, your _app.py_ file should now contain the complete implementation as shown below:
93+
```python
94+
import asyncio
95+
import os
96+
from agent_framework.declarative import AgentFactory
97+
from azure.identity import DefaultAzureCredential
98+
from azure.appconfiguration.provider import load
99+
100+
async def main():
101+
endpoint = os.environ["AZURE_APPCONFIGURATION_ENDPOINT"]
102+
103+
# Connect to Azure App Configuration using Microsoft Entra ID.
104+
credential = DefaultAzureCredential()
105+
106+
config = load(endpoint=endpoint, credential=credential)
107+
108+
agent_spec = config["ChatAgent:Spec"]
109+
110+
agent = AgentFactory(client_kwargs={"credential": credential, "project_endpoint": config["ChatAgent:ProjectEndpoint"]}).create_agent_from_yaml(agent_spec)
111+
112+
while True:
113+
print("How can I help? (type 'quit' to exit)")
114+
115+
user_input = input("User: ")
116+
117+
if user_input.lower() in ['quit', 'exit', 'bye']:
118+
break
119+
120+
response = await agent.run(user_input)
121+
print("Agent response: ", response.text)
122+
input("Press enter to continue...")
123+
124+
print("Exiting... Goodbye...")
125+
126+
if __name__ == "__main__":
127+
asyncio.run(main())
128+
```
129+
130+
## Build and run the app
131+
132+
1. Set the environment variable named **AZURE_APPCONFIGURATION_ENDPOINT** to the endpoint of your App Configuration store found under the *Overview* of your store in the Azure portal.
133+
134+
If you use the Windows command prompt, run the following command and restart the command prompt to allow the change to take effect:
135+
136+
```cmd
137+
setx AZURE_APPCONFIGURATION_ENDPOINT "<endpoint-of-your-app-configuration-store>"
138+
```
139+
140+
If you use PowerShell, run the following command:
141+
```powershell
142+
$Env:AZURE_APPCONFIGURATION_ENDPOINT="<endpoint-of-your-app-configuration-store>"
143+
```
144+
145+
If you use macOS or Linux, run the following command:
146+
```bash
147+
export AZURE_APPCONFIGURATION_ENDPOINT='<endpoint-of-your-app-configuration-store>'
148+
```
149+
150+
1. After the environment variable is properly set, run the following command to run the app locally:
151+
152+
```console
153+
python app.py
154+
```
155+
156+
1. Type the message "What is the weather today in Seattle?" when prompted with "How can I help?" and then press the Enter key.
157+
158+
```Output
159+
How can I help? (type 'quit' to exit)
160+
User: What is the weather today in Seattle?
161+
Agent response: Today in Seattle, expect steady rain throughout the day with patchy fog, and a high temperature around 57°F (14°C).
162+
Winds are from the south-southwest at 14 to 17 mph, with gusts as high as 29 mph.
163+
Flood and wind advisories are in effect due to ongoing heavy rain and saturated conditions.
164+
Rain is likely to continue into the night, with a low near 49°F.
165+
Please stay aware of weather alerts if you are traveling or in low-lying areas [National Weather Service Seattle](https://forecast.weather.gov/zipcity.php?inputstring=Seattle%2CWA) [The Weather Channel Seattle Forecast](https://weather.com/weather/today/l/Seattle+Washington?canonicalCityId=1138ce33fd1be51ab7db675c0da0a27c).
166+
Press enter to continue...
167+
```
168+
169+
## Next steps
170+
171+
To learn how to use Chat completion configuration in your application, continue to this tutorial.
172+
173+
> [!div class="nextstepaction"]
174+
> [Chat completion configuration](./howto-chat-completion-config.md)
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
title: Configuring agents in Agent framework with Azure App Configuration
3+
description: Learn how to configure agents in Agent framework with Azure App Configuration
4+
author: MaryanneNjeri
5+
ms.author: mgichohi
6+
ms.topic: how-to
7+
ms.service: azure-app-configuration
8+
ms.date: 11/25/2025
9+
ms.update-cycle: 180-days
10+
ms.collection: ce-skilling-ai-copilot
11+
---
12+
13+
# Configuring agents in Agent framework with Azure App Configuration
14+
15+
Agents are software systems that autonomously perform tasks using Large Language Models (LLMs) to process user input and execute actions on behalf of users. Agent framework provides tools and structures to build, orchestrate, and manage AI agents. Configuring agents within this framework involves defining their instructions and toolsets through either code-based or declarative methods. Azure App Configuration serves as a centralized store for these agent configurations, keeping them in one place where they can be easily managed and shared across multiple application instances.
16+
17+
Here are some agent settings that can be stored on Azure App Configuration:
18+
19+
- Instructions
20+
- Endpoint
21+
- Agent name
22+
- Model parameters - temperature, top_p, max_tokens, frequency_penalty, presence_penalty, response_format and stop sequences.
23+
- Tools
24+
25+
## Prerequisites
26+
27+
- An Azure account with an active subscription. [Create one for free](https://azure.microsoft.com/free).
28+
- An App Configuration store, as shown in the [tutorial for creating a store](./quickstart-azure-app-configuration-create.md#create-an-app-configuration-store).
29+
30+
31+
## Example agent settings
32+
1. Follow the [Microsoft Foundry Quickstart](/azure/ai-foundry/quickstarts/get-started-code) to create a project in Foundry with a deployed gpt-4.1 model. Note down the Azure AI project endpoint for later use.
33+
34+
1. Navigate to your App Configuration store and add the following key-values. Leave **Label** with its default value. For more information about how to add key-values to a store using the Azure portal or the CLI, go to [Create a key-value](./quickstart-azure-app-configuration-create.md#create-a-key-value).
35+
36+
| Key | Value | Content type |
37+
|--------------------------------|---------------------------------------------------------------------|----------------------------------------------|
38+
| *ChatAgent:ProjectEndpoint* | *Paste the Azure AI project endpoint* | |
39+
| *ChatAgent:Spec* | *See YAML* | |
40+
41+
42+
**Value for ChatAgent:Spec**
43+
44+
```yaml
45+
kind: Prompt
46+
name: ChatAgent
47+
description: Agent example with web search
48+
instructions: You are a helpful assistant with access to web search.
49+
model:
50+
id: gpt-4.1
51+
connection:
52+
kind: remote
53+
tools:
54+
- kind: web_search
55+
name: WebSearchTool
56+
description: Search the web for live information.
57+
```
58+
59+
1. Continue to the following instructions to implement the AI agent configuration into your application for the language or platform you're using.
60+
61+
- [Python](./howto-ai-agent-config-python.md)

articles/azure-functions/dotnet-isolated-process-guide.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -799,6 +799,9 @@ host.Run();
799799

800800
In the built-in model, the system translates the incoming HTTP request message into an [HttpRequestData] object that it passes to the function. This object provides data from the request, including `Headers`, `Cookies`, `Identities`, `URL`, and optionally a message `Body`. This object represents the HTTP request but isn't directly connected to the underlying HTTP listener or the received message.
801801

802+
> [!IMPORTANT]
803+
> If you use `HttpRequestData`, the body of the HTTP request can't be a stream. For example, if the request has the `Transfer-Encoding: chunked` header and no `Content-Length` header, the `HttpRequestData` object's `Body` property will be a null stream. If you need to work with streaming HTTP requests, consider using the [ASP.NET Core integration model](#aspnet-core-integration) instead.
804+
802805
Likewise, the function returns an [HttpResponseData] object, which provides data used to create the HTTP response, including message `StatusCode`, `Headers`, and optionally a message `Body`.
803806

804807
The following example demonstrates the use of `HttpRequestData` and `HttpResponseData`:

0 commit comments

Comments
 (0)