Skip to content

Commit 32fa08f

Browse files
Merge pull request #314442 from MicrosoftDocs/main
Auto Publish – main to live - 2026-04-08 06:00 UTC
2 parents 0356afd + 7a72ddb commit 32fa08f

20 files changed

Lines changed: 431 additions & 341 deletions

articles/azure-cache-for-redis/TOC.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,21 @@
3535
items:
3636
- name: Overview
3737
href: /azure/redis/migrate/migrate-basic-standard-premium-overview
38-
- name: Understand
38+
- name: Understand differences
3939
href: /azure/redis/migrate/migrate-basic-standard-premium-understand
40-
- name: Self-service
40+
- name: Explore migration options
41+
href: /azure/redis/migrate/migrate-basic-standard-premium-options
42+
- name: Self-service migration
4143
href: /azure/redis/migrate/migrate-basic-standard-premium-self-service
44+
- name: Migration using tooling
45+
href: /azure/redis/migrate/migrate-basic-standard-premium-with-tooling
4246
- name: Migrate Enterprise tier to Azure Managed Redis
4347
items:
4448
- name: Overview
4549
href: /azure/redis/migrate/migrate-redis-enterprise-overview
46-
- name: Understand
50+
- name: Understand differences
4751
href: /azure/redis/migrate/migrate-redis-enterprise-understand
48-
- name: Self-service
52+
- name: Self-service migration
4953
href: /azure/redis/migrate/migrate-redis-enterprise-self-service
5054
- name: Migrate to Azure Redis from other caches
5155
href: cache-migration-guide.md

articles/azure-cache-for-redis/cache-whats-new.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ appliesto:
1515

1616
Find out what's new in Azure Redis.
1717

18+
## April 2026
19+
20+
### Tooling to migrate Azure Cache for Redis instance to Azure Managed Redis (preview)
21+
Tooling to aid migration from Azure Cache for Redis (Basic, Standard, and Premium) is now available in Public Preview. When migration is initiated using the tooling, your Azure Cache for Redis endpoint is updated to point to your precreated Azure Managed Redis. For more information, see [Migration using tooling](/azure/redis/migrate/migrate-basic-standard-premium-with-tooling).
1822

1923
## October 2025
2024

articles/azure-functions/scenario-custom-remote-mcp-server.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Build a custom remote MCP server using Azure Functions
33
description: "Learn how to create and deploy a custom Model Context Protocol (MCP) server using Azure Functions. This quickstart uses the Azure Developer CLI to deploy an MCP server project that enables AI clients to access custom tools hosted on Azures Flex Consumption plan."
4-
ms.date: 12/01/2025
4+
ms.date: 04/06/2026
55
ms.update-cycle: 180-days
66
ms.topic: quickstart
77
ai-usage: ai-assisted
@@ -85,7 +85,7 @@ Use the `azd init` command to create a local Azure Functions code project from a
8585
azd init --template remote-mcp-functions-dotnet -e mcpserver-dotnet
8686
```
8787

88-
This command pulls the project files from the [template repository](https://github.com/Azure-Samples/remote-mcp-functions-dotnet) and initializes the project in the current folder. The `-e` flag sets a name for the current environment. In `azd`, the environment maintains a unique deployment context for your app, and you can define more than one. It's also used in the name of the resource group you create in Azure.
88+
This command pulls the project files from the [template repository](https://github.com/Azure-Samples/remote-mcp-functions-dotnet) and initializes the project in the current folder. The `-e` flag sets a name for the current environment. In `azd`, the environment maintains a unique deployment context for your app, and you can define more than one. It's also part of the name of the resource group you create in Azure.
8989
::: zone-end
9090
::: zone pivot="programming-language-java"
9191
2. In your local terminal or command prompt, run this `azd init` command:
@@ -94,7 +94,7 @@ Use the `azd init` command to create a local Azure Functions code project from a
9494
azd init --template remote-mcp-functions-java -e mcpserver-java
9595
```
9696

97-
This command pulls the project files from the [template repository](https://github.com/Azure-Samples/remote-mcp-functions-java) and initializes the project in the current folder. The `-e` flag sets a name for the current environment. In `azd`, the environment maintains a unique deployment context for your app, and you can define more than one. It's also used in names of the resources you create in Azure.
97+
This command pulls the project files from the [template repository](https://github.com/Azure-Samples/remote-mcp-functions-java) and initializes the project in the current folder. The `-e` flag sets a name for the current environment. In `azd`, the environment maintains a unique deployment context for your app, and you can define more than one. It's also part of the names of the resources you create in Azure.
9898
::: zone-end
9999
::: zone pivot="programming-language-typescript"
100100
2. In your local terminal or command prompt, run this `azd init` command:
@@ -103,7 +103,7 @@ Use the `azd init` command to create a local Azure Functions code project from a
103103
azd init --template remote-mcp-functions-typescript -e mcpserver-ts
104104
```
105105

106-
This command pulls the project files from the [template repository](https://github.com/Azure-Samples/remote-mcp-functions-typescript) and initializes the project in the current folder. The `-e` flag sets a name for the current environment. In `azd`, the environment maintains a unique deployment context for your app, and you can define more than one. It's also used in names of the resources you create in Azure.
106+
This command pulls the project files from the [template repository](https://github.com/Azure-Samples/remote-mcp-functions-typescript) and initializes the project in the current folder. The `-e` flag sets a name for the current environment. In `azd`, the environment maintains a unique deployment context for your app, and you can define more than one. It's also part of the names of the resources you create in Azure.
107107
::: zone-end
108108
::: zone pivot="programming-language-python"
109109
2. In your local terminal or command prompt, run this `azd init` command:
@@ -112,7 +112,7 @@ Use the `azd init` command to create a local Azure Functions code project from a
112112
azd init --template remote-mcp-functions-python -e mcpserver-python
113113
```
114114

115-
This command pulls the project files from the [template repository](https://github.com/Azure-Samples/remote-mcp-functions-python) and initializes the project in the current folder. The `-e` flag sets a name for the current environment. In `azd`, the environment maintains a unique deployment context for your app, and you can define more than one. It's also used in names of the resources you create in Azure.
115+
This command pulls the project files from the [template repository](https://github.com/Azure-Samples/remote-mcp-functions-python) and initializes the project in the current folder. The `-e` flag sets a name for the current environment. In `azd`, the environment maintains a unique deployment context for your app, and you can define more than one. It's also part of the names of the resources you create in Azure.
116116
::: zone-end
117117
::: zone pivot="programming-language-csharp,programming-language-java,programming-language-python,programming-language-typescript"
118118
## Start the storage emulator
@@ -198,9 +198,9 @@ You can view the complete project template in the [Azure Functions Java MCP Serv
198198
::: zone pivot="programming-language-python"
199199
The function code for the MCP server tools is defined in the `src/function_app.py` file. The MCP function annotations expose these functions as MCP Server tools:
200200
201-
<!-- :::code language="python" source="~/functions-scenarios-custom-mcp-python/src/function_app.py" range="30-33" ::: -->
201+
:::code language="python" source="~/functions-scenarios-custom-mcp-python/src/FunctionsMcpTool/function_app.py" range="18-25" :::
202202
203-
<!-- :::code language="python" source="~/functions-scenarios-custom-mcp-python/src/function_app.py" range="36-60" ::: -->
203+
:::code language="python" source="~/functions-scenarios-custom-mcp-python/src/FunctionsMcpTool/function_app.py" range="28-42" :::
204204
205205
You can view the complete project template in the [Azure Functions Python MCP Server](https://github.com/Azure-Samples/remote-mcp-functions-python) GitHub repository.
206206
::: zone-end

articles/azure-functions/scenario-mcp-apps.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Build an MCP Apps server using Azure Functions
33
description: "Learn how to create and deploy an MCP App that returns interactive UI using Azure Functions. This quickstart uses the Azure Developer CLI to deploy an MCP App project that enables AI clients to access tools with rich interactive interfaces hosted on Azure's Flex Consumption plan."
4-
ms.date: 02/25/2026
4+
ms.date: 04/06/2026
55
ms.update-cycle: 180-days
66
ms.topic: quickstart
77
ai-usage: ai-assisted
@@ -248,17 +248,17 @@ The `GetWeatherWidget` function serves the bundled HTML file at that URI using `
248248
You can view the complete project template in the [Azure Functions .NET MCP Server](https://github.com/Azure-Samples/remote-mcp-functions-dotnet) GitHub repository.
249249
::: zone-end
250250
::: zone pivot="programming-language-python"
251-
The function code for the MCP Apps weather tool is defined in the `src/function_app.py` file. In this function, the `metadata` parameter on `@app.mcp_tool()` adds UI metadata to the `get_weather` tool.
251+
The function code for the MCP Apps weather tool is defined in the `src/McpWeatherApp/function_app.py` file. In this function, the `metadata` parameter on `@app.mcp_tool()` adds UI metadata to the `get_weather` tool.
252252

253-
<!-- :::code language="python" source="~/functions-scenarios-custom-mcp-python/src/function_app.py" range="109-130" ::: -->
253+
:::code language="python" source="~/functions-scenarios-custom-mcp-python/src/McpWeatherApp/function_app.py" range="70-92" :::
254254

255255
The `@app.mcp_resource_trigger()` decorator is applied to the `get_weather_widget` function, which serves the HTML widget.
256256

257-
<!-- :::code language="python" source="~/functions-scenarios-custom-mcp-python/src/function_app.py" range="64-105" ::: -->
257+
:::code language="python" source="~/functions-scenarios-custom-mcp-python/src/McpWeatherApp/function_app.py" range="27-67" :::
258258

259259
The `TOOL_METADATA` constant declares a `ui.resourceUri` that tells the MCP host to fetch the interactive UI from `ui://weather/index.html` after the tool runs.
260260

261-
<!-- :::code language="python" source="~/functions-scenarios-custom-mcp-python/src/function_app.py" range="20-21" ::: -->
261+
:::code language="python" source="~/functions-scenarios-custom-mcp-python/src/McpWeatherApp/function_app.py" range="21" :::
262262

263263
The `get_weather_widget` function serves the bundled HTML file at that URI using `@app.mcp_resource_trigger()`.
264264

articles/expressroute/metro.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: expressroute
55
author: duongau
66
ms.service: azure-expressroute
77
ms.topic: concept-article
8-
ms.date: 02/18/2026
8+
ms.date: 04/07/2026
99
ms.author: duau
1010
ms.custom:
1111
- references_regions
@@ -50,23 +50,23 @@ The following diagram allows for a comparison between the standard ExpressRoute
5050
| Chicago Metro | Equinix CH1<br>CoreSite CH1 | 1 | North Central US | &check; | Equinix<br>Megaport |
5151
| Dallas Metro | Equinix DA6 <br>Digital Realty DFW10 | 1 | &cross; | &check; | Megaport |
5252
| Dublin Metro | Equinix DB3 <br>Digital Realty DUB02 | 1 | North Europe | &check; | Colt<sup>1</sup><br>Equinix<br>Megaport<sup>1</sup> |
53-
| Frankfurt Metro | Digital Realty FRA11<br>Equinix FR7 | 1 | Germany West Central | &check; | Colt<sup>1</sup><br>DE-CIX<br>Equinix<sup>1</sup><br>Megaport<sup>1</sup> |
53+
| Frankfurt Metro | Digital Realty FRA11<br>Equinix FR7 | 1 | Germany West Central | &check; | Colt<sup>1</sup><br>DE-CIX<br>Equinix<sup>1</sup><br>Megaport |
5454
| Jakarta Metro | NeutraDC HDC<br>NTT GDC | 2 | Indonesia Central | &check; | DCI Indonesia<br>Telin<sup>1</sup><br>XL Axiata<sup>1</sup> |
5555
| Madrid Metro | Equinix MD2<br>Digital Realty MAD1 | 1 | Spain Central | &check; | Colt<br>Equinix<br>Megaport<br>Telefonica<sup>1</sup> |
5656
| Milan Metro | Irideos Milan<br>Data4Italy Milan | 1 | Italy North | &check; | Colt<br>Equinix<br>Megaport<br>Telecom Italia Sparkle<sup>1</sup><br>Telia Carrier (Arelion)<sup>1</sup> |
5757
| Mumbai Metro | TATA LVSB<br>Nxtra Data| 2 | West India | &check; | |
5858
| New York Metro | Equinix NY5<br>165 Halsey Street | 1 | &cross; | &check; | Megaport<br>DE-CIX|
5959
| Oslo Metro | DigiPlex Ulven <br>Bulk Data IX | 2 | Norway East | &check; | Colt<sup>1</sup><br>GlobalConnect<sup>1</sup><br>Telenor<sup>1</sup> |
60-
| Silicon Valley Metro | Equinix SV10<br>CoreSite SV7 | 1 | West US | &check; | Megaport<sup>1</sup><br>Zayo<sup>1</sup> |
60+
| Silicon Valley Metro | Equinix SV10<br>CoreSite SV7 | 1 | West US | &check; | Megaport<br>Zayo<sup>1</sup> |
6161
| Singapore Metro | Global Switch Tai Seng<br>Equinix SG1 | 2 | Southeast Asia | &check; | Colt<br>Equinix<br>IX Reach<br>Megaport<br>MegaPOP (Singtel)<br>Singtel International |
6262
| Stockholm Metro | Equinix SK1<br>Digital Realty STO6 | 1 | Sweden Central | &check; | Megaport<sup>1</sup><br>Telia Carrier (Arelion) |
6363
| Taipei Metro | Chief Telecom<br>Chunghwa Telecom Co. Ltd | 2 | Taiwan North | &check; | Chunghwa Telecom<sup>1</sup> |
6464
| Toronto Metro | Cologix TOR1<br>Allied King West | 1 | Canda Central | &check; | Megaport<sup>1</sup><br>Zayo<sup>1</sup> |
65-
| Vienna Metro | Digital Realty VIE1<br>NTT GDC | 1 | Austria East | &check; | A1 Telekom Austria<sup>1</sup><br>Colt<br>Next Layer GMBH |
65+
| Vienna Metro | Digital Realty VIE1<br>NTT GDC | 1 | Austria East | &check; | A1 Telekom Austria<br>Colt<br>Next Layer GMBH |
6666
| Zurich Metro | Digital Realty ZUR2<br>Equinix ZH5 | 1 | Switzerland North | &check; | BICS<sup>1</sup><br>Colt<br>Digital Realty<br>Swisscom |
6767
| Washington DC Metro | Equinix DC6<br>CoreSite VA3 | 1 | East US<br/>East US 2 | &check; | Equinix<br>Megaport<br>Zayo<sup>1</sup> |
6868

69-
<sup>1<sup> These service providers will be available in the future.
69+
<sup>1<sup> These service providers will be available in the future. While they are listed under the peering location, circuit creation is expected to fail until the providers become active.
7070

7171
> [!NOTE]
7272
> The naming convention for Metro sites will utilize `City` and `City2` to denote the two unique peering locations within the same metropolitan region. As an illustration, Amsterdam and Amsterdam2 are indicative of the two separate peering locations within the metropolitan area of Amsterdam. In the Azure portal, these locations will be referred to as `Amsterdam Metro`.

articles/redis/TOC.yml

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -161,23 +161,27 @@ items:
161161
href: /azure/developer/github-copilot-azure?toc=/azure/redis/toc.json&bc=/azure/redis/breadcrumb/toc.json
162162
- name: Migration
163163
items:
164-
- name: Migrate Basic, Standard, or Premium tiers
164+
- name: Migrate Basic, Standard, or Premium tiers to Azure Managed Redis
165165
items:
166166
- name: Overview
167-
href: migrate/migrate-basic-standard-premium-overview.md
168-
- name: Understand
169-
href: migrate/migrate-basic-standard-premium-understand.md
170-
- name: Self-service
171-
href: migrate/migrate-basic-standard-premium-self-service.md
172-
- name: Migrate Enterprise tier
167+
href: /azure/redis/migrate/migrate-basic-standard-premium-overview
168+
- name: Understand differences
169+
href: /azure/redis/migrate/migrate-basic-standard-premium-understand
170+
- name: Explore migration options
171+
href: /azure/redis/migrate/migrate-basic-standard-premium-options
172+
- name: Self-service migration
173+
href: /azure/redis/migrate/migrate-basic-standard-premium-self-service
174+
- name: Migration using tooling
175+
href: /azure/redis/migrate/migrate-basic-standard-premium-with-tooling
176+
- name: Migrate Enterprise tier to Azure Managed Redis
173177
items:
174178
- name: Overview
175179
href: migrate/migrate-redis-enterprise-overview.md
176-
- name: Understand
180+
- name: Understand differences
177181
href: migrate/migrate-redis-enterprise-understand.md
178-
- name: Self-service
182+
- name: Self-service migration
179183
href: migrate/migrate-redis-enterprise-self-service.md
180-
- name: Migrate to Azure Redis from other caches
184+
- name: Migrate to Azure Managed Redis from other caches
181185
href: migrate/migration-guide.md
182186
- name: Azure Cache for Redis
183187
items:

0 commit comments

Comments
 (0)