Skip to content

Commit 829834e

Browse files
author
gitName
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into apimmcp
2 parents dceeccb + 244896b commit 829834e

File tree

433 files changed

+11947
-1966
lines changed

Some content is hidden

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

433 files changed

+11947
-1966
lines changed

.gitignore

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,23 @@ AzureMigration.ps1
2626
*.pdn
2727

2828
# Pycharm
29-
.idea/*
29+
.idea/*
30+
articles/planetary-computer/doc-tree-generator.py
31+
.gitignore
32+
articles/planetary-computer/article_links_diagram.md
33+
articles/planetary-computer/index_helper.py
34+
articles/planetary-computer/metadata_index.csv
35+
articles/planetary-computer/broken_link_checker.py
36+
articles/planetary-computer/broken_links_external.csv
37+
articles/planetary-computer/broken_links.csv
38+
articles/planetary-computer/check_orphaned_docs.py
39+
40+
# Python cache files
41+
*.pyc
42+
__pycache__/
43+
articles/planetary-computer/interesting_stats.py
44+
articles/planetary-computer/locate_text.py
45+
articles/planetary-computer/image_syntax_checker.py
46+
articles/planetary-computer/image-file-fixer.py
47+
articles/planetary-computer/orphaned-media.py
48+
articles/planetary-computer/orphaned_media_files.txt

.openpublishing.publish.config.json

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,30 @@
140140
"branch": "main",
141141
"branch_mapping": {}
142142
},
143+
{
144+
"path_to_root": "remote-mcp-functions-dotnet",
145+
"url": "https://github.com/Azure-Samples/remote-mcp-functions-dotnet",
146+
"branch": "main",
147+
"branch_mapping": {}
148+
},
149+
{
150+
"path_to_root": "remote-mcp-functions-typescript",
151+
"url": "https://github.com/Azure-Samples/remote-mcp-functions-typescript",
152+
"branch": "main",
153+
"branch_mapping": {}
154+
},
155+
{
156+
"path_to_root": "remote-mcp-functions-python",
157+
"url": "https://github.com/Azure-Samples/remote-mcp-functions-python",
158+
"branch": "main",
159+
"branch_mapping": {}
160+
},
161+
{
162+
"path_to_root": "remote-mcp-functions-java",
163+
"url": "https://github.com/Azure-Samples/remote-mcp-functions-java",
164+
"branch": "main",
165+
"branch_mapping": {}
166+
},
143167
{
144168
"path_to_root": "azure-functions-durable-js",
145169
"url": "https://github.com/Azure/azure-functions-durable-js",
@@ -158,6 +182,12 @@
158182
"branch": "dev",
159183
"branch_mapping": {}
160184
},
185+
{
186+
"path_to_root": "azure-functions-mongodb-extension",
187+
"url": "https://github.com/Azure/Azure-functions-mongodb-extension",
188+
"branch": "main",
189+
"branch_mapping": {}
190+
},
161191
{
162192
"path_to_root": "azure-functions-nodejs-v4",
163193
"url": "https://github.com/Azure/azure-functions-nodejs-samples",

.openpublishing.redirection.json

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6851,7 +6851,27 @@
68516851
},
68526852
{
68536853
"source_path_from_root": "/articles/azure-functions/migration.md",
6854-
"redirect_url": "/azure/azure-functions/migration/migrate-lambda-workloads-overview",
6854+
"redirect_url": "/azure/azure-functions/migration/migrate-aws-lambda-to-azure-functions",
6855+
"redirect_document_id": false
6856+
},
6857+
{
6858+
"source_path": "articles/azure-functions/migration/migrate-lambda-workloads-overview.md",
6859+
"redirect_url": "/azure/azure-functions/migration/migrate-aws-lambda-to-azure-functions",
6860+
"redirect_document_id": false
6861+
},
6862+
{
6863+
"source_path": "articles/azure-functions/migration/discover-lambda-workloads.md",
6864+
"redirect_url": "/azure/azure-functions/migration/migrate-aws-lambda-to-azure-functions",
6865+
"redirect_document_id": false
6866+
},
6867+
{
6868+
"source_path": "articles/azure-functions/migration/assess-lambda-workloads.md",
6869+
"redirect_url": "/azure/azure-functions/migration/migrate-aws-lambda-to-azure-functions",
6870+
"redirect_document_id": false
6871+
},
6872+
{
6873+
"source_path": "articles/azure-functions/migration/migrate-lambda-workloads.md",
6874+
"redirect_url": "/azure/azure-functions/migration/migrate-aws-lambda-to-azure-functions",
68556875
"redirect_document_id": false
68566876
},
68576877
{

articles/api-management/configure-custom-domain.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ author: dlepow
77

88
ms.service: azure-api-management
99
ms.topic: how-to
10-
ms.date: 06/24/2024
10+
ms.date: 05/09/2025
1111
ms.author: danlep
1212
ms.custom: engagement-fy23
1313
---
@@ -202,6 +202,14 @@ You can also get a domain ownership identifier by calling the [Get Domain Owners
202202

203203
[!INCLUDE [api-management-custom-domain](../../includes/api-management-custom-domain.md)]
204204

205+
[!INCLUDE [api-management-standard-v2-limitation](../../includes/api-management-standard-v2-limitation.md)]
206+
207+
## Troubleshooting: Hostname certificate rotation from Azure Key Vault failed
208+
209+
Because of a configuration change or connectivity problem, your API Management instance might be unable to fetch a hostname certificate from Azure Key Vault after a certificate is updated or rotated there. When this happens, your API Management instance continues to use a cached certificate until it receives an updated certificate. If the cached certificate expires, runtime traffic to the gateway will be blocked. Any upstream service such as Application Gateway that uses the hostname certificate configuration could also block runtime traffic to the gateway when an expired cached certificate is used.
210+
211+
To mitigate this problem, confirm that the key vault exists, and the certificate is stored in the key vault. If your API Management instance is deployed in a virtual network, confirm outbound connectivity to the AzureKeyVault service tag. Check whether the managed identity used to access the key vault exists. Confirm the managed identity's permissions to access the key vault. Review [Set up a custom domain name - Key Vault](#set-a-custom-domain-name---portal), earlier in this article, for detailed configuration steps. After the configuration is restored, the hostname certificate will refresh in API Management within 4 hours.
212+
205213
## Related content
206214

207215
[Upgrade and scale your service](upgrade-and-scale.md)

articles/api-management/private-endpoint.md

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ms.service: azure-api-management
55
author: dlepow
66
ms.author: danlep
77
ms.topic: how-to
8-
ms.date: 04/04/2025
8+
ms.date: 05/09/2025
99
---
1010

1111
# Connect privately to API Management using an inbound private endpoint
@@ -48,7 +48,7 @@ Supported configurations include:
4848

4949
- An existing API Management instance. [Create one if you haven't already](get-started-create-service-instance.md).
5050
- When using an instance in the classic Developer or Premium tier, don't deploy (inject) the instance into an [external](api-management-using-with-vnet.md) or [internal](api-management-using-with-internal-vnet.md) virtual network.
51-
- A virtual network containing a subnet to host the private endpoint. The subnet may contain other Azure resources.
51+
- A virtual network containing a subnet to host the private endpoint. The subnet may contain other Azure resources, but it can't be delegated to another service.
5252
- (Recommended) A virtual machine in the same or a different subnet in the virtual network, to test the private endpoint.
5353
[!INCLUDE [azure-cli-prepare-your-environment-no-header.md](~/reusable-content/azure-cli/azure-cli-prepare-your-environment-no-header.md)]
5454

@@ -65,7 +65,6 @@ Typically, a network administrator creates a private endpoint. Depending on your
6565
## Steps to configure private endpoint
6666

6767
1. [Get available private endpoint types in subscription](#get-available-private-endpoint-types-in-subscription)
68-
1. [Disable network policies in subnet](#disable-network-policies-in-subnet)
6968
1. [Create private endpoint - portal](#create-private-endpoint---portal)
7069

7170
### Get available private endpoint types in subscription
@@ -93,14 +92,6 @@ Output should include the `Microsoft.ApiManagement.service` endpoint type:
9392
[...]
9493
```
9594

96-
### Disable network policies in subnet
97-
98-
Network policies such as network security groups must be disabled in the subnet used for the private endpoint.
99-
100-
If you use tools such as Azure PowerShell, the Azure CLI, or REST API to configure private endpoints, update the subnet configuration manually. For examples, see [Manage network policies for private endpoints](../private-link/disable-private-endpoint-network-policy.md).
101-
102-
When you use the Azure portal to create a private endpoint, as shown in the next section, network policies are disabled automatically as part of the creation process.
103-
10495
### Create private endpoint - portal
10596

10697
You can create a private endpoint when you create an API Management instance in the Azure portal, or you can add a private endpoint to an existing instance. You can also create a private endpoint using the [Private Link Center](/azure/private-link/create-private-endpoint-portal).
@@ -259,7 +250,7 @@ To list private endpoint connections to the API Management instance:
259250

260251
## Optionally disable public network access
261252

262-
To optionally limit incoming traffic to the API Management instance only to private endpoints, disable the public network access property.
253+
To optionally limit incoming traffic to the API Management instance only to private endpoints, disable the public network access property. You can only disable public network access after you've configured a private endpoint.
263254

264255
> [!NOTE]
265256
> Public network access can only be disabled in API Management instances configured with a private endpoint, not with other networking configurations.
@@ -335,6 +326,8 @@ Request originated from client public IP address 192.0.2.12, public network acce
335326
To connect to 'Microsoft.ApiManagement/service/my-apim-service', please use the Private Endpoint from inside your virtual network.
336327
```
337328

329+
[!INCLUDE [api-management-standard-v2-limitation](../../includes/api-management-standard-v2-limitation.md)]
330+
338331
## Related content
339332

340333
* Use [policy expressions](api-management-policy-expressions.md#ref-context-request) with the `context.request` variable to identify traffic from the private endpoint.

articles/app-service/app-service-best-practices.md

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
2-
title: Best practices for Azure App Service
2+
title: Best Practices for Azure App Service
33
description: Learn best practices and common troubleshooting scenarios for your app running in Azure App Service.
44

55
ms.assetid: f3359464-fa44-4f4a-9ea6-7821060e8d0d
66
ms.topic: article
7-
ms.date: 07/01/2016
7+
ms.date: 05/06/2025
88
author: msangapu-msft
99
ms.author: msangapu
1010
ms.custom: devx-track-js
@@ -18,9 +18,9 @@ This article summarizes best practices for using [Azure App Service](./overview.
1818
An Azure App Service solution consists of a web app and a database or storage account for holding content or data. When these resources are in different regions, the situation can have the following effects:
1919

2020
* Increased latency in communication between resources
21-
* Monetary charges for outbound data transfer across regions, as noted on the [Azure pricing page](https://azure.microsoft.com/pricing/details/data-transfers)
21+
* Monetary charges for outbound data transfer across regions, as noted on the [Azure bandwidth pricing](https://azure.microsoft.com/pricing/details/data-transfers) page
2222

23-
Colocation is best for Azure resources that compose a solution. When you create resources, make sure they're in the same Azure region unless you have specific business or design reasons for them not to be. You can move an App Service app to the same region as your database by using the [App Service cloning feature](app-service-web-app-cloning.md) available in Premium App Service plans.
23+
Colocation is best for Azure resources that comprise a solution. When you create resources, make sure they're in the same Azure region unless you have specific business or design reasons for them not to be. You can move an App Service app to the same region as your database by using the [App Service cloning feature](app-service-web-app-cloning.md) available in Premium App Service plans.
2424

2525
## <a name ="certificatepinning"></a>Certificate pinning
2626

@@ -76,15 +76,15 @@ pm2 start /home/site/wwwroot/app.js --no-daemon -i 4
7676

7777
Backups typically run on a schedule and require access to storage (for outputting the backed-up files) and databases (for copying and reading contents to be included in the backup). The result of failing to access either of these resources is consistent backup failure.
7878

79-
The two most common reasons why app backup fails are invalid storage settings and invalid database configuration. These failures typically happen after changes to storage or database resources, or after changes to credentials for accessing those resources. For example, credentials might be updated for the database that you selected in the backup settings.
79+
There are two common reasons why app backup fails: invalid storage settings and invalid database configuration. These failures typically happen after changes to storage or database resources, or after changes to credentials for accessing those resources. For example, credentials might be updated for the database that you selected in the backup settings.
8080

8181
When backup failures happen, review the most recent results to understand which type of failure is happening. For storage access failures, review and update the storage settings in your backup configuration. For database access failures, review and update your connection strings as part of app settings. Then proceed to update your backup configuration to properly include the required databases.
8282

8383
For more information on app backups, see [Back up and restore your app in Azure App Service](manage-backup.md).
8484

8585
## <a name="nodejs"></a>Node.js apps
8686

87-
The Azure App Service default configuration for Node.js apps is intended to best suit the needs of most common apps. If you want to personalize the default configuration for your Node.js app to improve performance or optimize resource usage for CPU, memory, or network resources, see [Best practices and troubleshooting guide for Node applications on Azure App Service](app-service-web-nodejs-best-practices-and-troubleshoot-guide.md). That article describes the iisnode settings that you might need to configure for your Node.js app. It also explains how to address scenarios or problems with your app.
87+
The Azure App Service default configuration for Node.js apps is intended to best suit the needs of most common apps. If you want to personalize the default configuration for your Node.js app to improve performance or optimize resource usage for CPU, memory, or network resources, see [Best practices and troubleshooting guide for Node applications on Azure App Service](app-service-web-nodejs-best-practices-and-troubleshoot-guide.md). That article describes the *iisnode* settings that you might need to configure for your Node.js app. It also explains how to address scenarios or problems with your app.
8888

8989
## <a name="iotdevices"></a>IoT devices
9090

@@ -96,15 +96,14 @@ To increase resiliency in your environment, don't rely on a single endpoint for
9696

9797
In App Service, you can add identical custom domains to multiple web apps, as long as these web apps are hosted in different regions. This capability ensures that if you need to pin certificates, you can also pin on the custom TLS certificate that you provided.
9898

99-
Another option is to use a load balancer in front of the web apps, such as Azure Front Door or Azure Traffic Manager, to ensure high availability for your web apps. For more information, see [Quickstart: Create a Front Door instance for a highly available global web application](../frontdoor/quickstart-create-front-door.md) or [Controlling Azure App Service traffic with Azure Traffic Manager](./web-sites-traffic-manager.md).
99+
Another option is to use a load balancer in front of the web apps, such as Azure Front Door or Azure Traffic Manager, to ensure high availability for your web apps. For more information, see [Quickstart: Create an Azure Front Door (classic) using the Azure portal](../frontdoor/quickstart-create-front-door.md) or [Controlling Azure App Service traffic with Azure Traffic Manager](./web-sites-traffic-manager.md).
100100

101-
## Next steps
101+
## Related content
102102

103103
To get actionable best practices that are specific to your resource, use [App Service diagnostics](./overview-diagnostics.md):
104104

105105
1. Go to your web app in the [Azure portal](https://portal.azure.com).
106-
1. Open App Service diagnostics by selecting **Diagnose and solve problems** on the left pane.
107-
1. Select the **Best Practices** tile.
108-
1. Select **Best Practices for Availability & Performance** or **Best Practices for Optimal Configuration** to view the current state of your app in regard to these best practices.
106+
1. Open App Service diagnostics by selecting **Diagnose and solve problems** on the sidebar menu.
107+
1. In the search box, enter **Best Practices for Availability & Performance** or **Best Practices for Optimal Configuration** to view the current state of your app in regard to these best practices.
109108

110-
You can also use this link to directly open App Service diagnostics for your resource: `https://portal.azure.com/?websitesextension_ext=asd.featurePath%3Ddetectors%2FParentAvailabilityAndPerformance#@microsoft.onmicrosoft.com/resource/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/troubleshoot`.
109+
:::image type="content" source="media/app-service-best-practices/portal-best-practices.png" alt-text="Screenshot that shows the best practices options in the search box.":::
48.1 KB
Loading
1.3 KB
Loading
1.22 KB
Loading
-66.1 KB
Loading

0 commit comments

Comments
 (0)