Skip to content

Commit 78cac97

Browse files
authored
Merge branch 'main' into reliability-include-update
2 parents 64d7447 + d41d134 commit 78cac97

File tree

1,384 files changed

+34452
-9124
lines changed

Some content is hidden

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

1,384 files changed

+34452
-9124
lines changed

.openpublishing.redirection.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3714,6 +3714,21 @@
37143714
"source_path_from_root": "/articles/reliability/resiliency-recommendations/recommend-cosmos-db-nosql.md",
37153715
"redirect_url": "/azure/reliability/reliability-cosmos-db-nosql",
37163716
"redirect_document_id": false
3717+
},
3718+
{
3719+
"source_path_from_root": "/articles/virtual-network/tutorial-create-route-table-portal.md",
3720+
"redirect_url": "/azure/virtual-network/tutorial-create-route-table",
3721+
"redirect_document_id": false
3722+
},
3723+
{
3724+
"source_path_from_root": "/articles/virtual-network/tutorial-create-route-table-powershell.md",
3725+
"redirect_url": "/azure/virtual-network/tutorial-create-route-table",
3726+
"redirect_document_id": false
3727+
},
3728+
{
3729+
"source_path_from_root": "/articles/virtual-network/tutorial-create-route-table-cli.md",
3730+
"redirect_url": "/azure/virtual-network/tutorial-create-route-table",
3731+
"redirect_document_id": false
37173732
}
37183733
]
37193734
}

articles/api-center/build-register-apis-vscode-extension.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ The following Visual Studio Code extensions are needed for the specified scenari
2828
* [GitHub Actions](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-github-actions) - to register APIs using a CI/CD pipeline with GitHub Actions
2929
* [Azure Pipelines](https://marketplace.visualstudio.com/items?itemName=ms-azure-devops.azure-pipelines) - to register APIs using a CI/CD pipeline with Azure Pipelines
3030
* [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - to generate OpenAPI specification files from API code
31-
* [GitHub Copilot for Azure](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azure-github-copilot) - to generate OpenAPI specification files using the Azure API Center Plugin for GitHub Copilot for Azure
31+
* [GitHub Copilot for Azure](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azure-github-copilot) - to generate OpenAPI specification files using the Azure API Center Plugin for [GitHub Copilot for Azure](/azure/developer/github-copilot-azure/introduction) (preview)
3232

3333
[!INCLUDE [vscode-extension-setup](includes/vscode-extension-setup.md)]
3434

@@ -66,7 +66,7 @@ After generating the OpenAPI specification file and checking for accuracy, you c
6666

6767
## Generate OpenAPI spec using natural language prompts
6868

69-
The API Center plugin for [GitHub Copilot for Azure](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azure-github-copilot) helps you design new APIs starting from natural language prompts. With AI assistance, quickly generate an OpenAPI spec for API development that complies with your organization's standards.
69+
The API Center plugin for [GitHub Copilot for Azure](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azure-github-copilot) (preview) helps you design new APIs starting from natural language prompts. With AI assistance, quickly generate an OpenAPI spec for API development that complies with your organization's standards.
7070

7171
> [!NOTE]
7272
> This feature is available in the pre-release version of the API Center extension.
@@ -98,4 +98,5 @@ The API Center plugin for [GitHub Copilot for Azure](https://marketplace.visuals
9898
* [Discover and consume APIs with the Azure API Center extension for Visual Studio Code](discover-apis-vscode-extension.md)
9999
* [Govern APIs with the Azure API Center extension for Visual Studio Code](govern-apis-vscode-extension.md)
100100
* [Enable and view platform API catalog in Visual Studio Code](enable-platform-api-catalog-vscode-extension.md)
101+
* [Overview of GitHub Copilot for Azure](/azure/developer/github-copilot-azure/introduction)
101102

articles/api-center/includes/vscode-extension-basic-prerequisites.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ ms.custom: Include file
1515

1616
* One or more API centers in your Azure subscription.
1717

18-
* Currently, you need to be assigned the Contributor role or higher permissions to manage APIs with the extension.
18+
* Currently, you need to be assigned the Azure API Center Service Contributor role or higher permissions on an API center to manage APIs with the extension.
1919

2020
* [Visual Studio Code](https://code.visualstudio.com/)
2121

22-
* [Azure API Center extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=apidev.azure-api-center)
22+
* [Azure API Center extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=apidev.azure-api-center)

articles/api-center/register-apis-github-actions.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ In the following steps, create a Microsoft Entra ID service principal, which wil
5555
> [!NOTE]
5656
> Configuring a service principal is shown for demonstration purposes. The recommended way to authenticate with Azure for GitHub Actions is with OpenID Connect, an authentication method that uses short-lived tokens. Setting up OpenID Connect with GitHub Actions is more complex but offers hardened security. [Learn more](../app-service/deploy-github-actions.md?tabs=openid%2Caspnetcore#1-generate-deployment-credentials)
5757
58-
Create a service principal using the [az ad sp create-for-rbac](/cli/azure/ad#az-ad-sp-create-for-rbac) command. The following example first uses the [az apic show](/cli/azure/apic#az-apic-show) command to retrieve the resource ID of the API center. The service principal is then created with the Contributor role for the API center.
58+
Create a service principal using the [az ad sp create-for-rbac](/cli/azure/ad#az-ad-sp-create-for-rbac) command. The following example first uses the [az apic show](/cli/azure/apic#az-apic-show) command to retrieve the resource ID of the API center. The service principal is then created with the Azure API Center Service Contributor role for the API center.
5959

6060
#### [Bash](#tab/bash)
6161

@@ -67,7 +67,7 @@ spName=<service-principal-name>
6767
6868
apicResourceId=$(az apic show --name $apiCenter --resource-group $resourceGroup --query "id" --output tsv)
6969
70-
az ad sp create-for-rbac --name $spName --role Contributor --scopes $apicResourceId --json-auth
70+
az ad sp create-for-rbac --name $spName --role "Azure API Center Service Contributor" --scopes $apicResourceId --json-auth
7171
```
7272

7373
#### [PowerShell](#tab/powershell)
@@ -80,7 +80,7 @@ $spName = "<service-principal-name>"
8080
8181
$apicResourceId = $(az apic show --name $apiCenter --resource-group $resourceGroup --query "id" --output tsv)
8282
83-
az ad sp create-for-rbac --name $spName --role Contributor --scopes $apicResourceId --json-auth
83+
az ad sp create-for-rbac --name $spName --role "Azure API Center Service Contributor" --scopes $apicResourceId --json-auth
8484
```
8585
---
8686

articles/api-management/api-management-howto-disaster-recovery-backup-restore.md

Lines changed: 62 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: 01/31/2023
10+
ms.date: 09/06/2024
1111
ms.author: danlep
1212
ms.custom: devx-track-azurepowershell
1313
---
@@ -129,6 +129,38 @@ Backup-AzApiManagement -ResourceGroupName $apiManagementResourceGroup -Name $api
129129

130130
Backup is a long-running operation that may take several minutes to complete. During this time the API gateway continues to handle requests, but the state of the service is Updating.
131131

132+
### [CLI](#tab/cli)
133+
134+
[Sign in](/cli/azure/authenticate-azure-cli) with Azure CLI.
135+
136+
In the following examples:
137+
138+
* An API Management instance named *myapim* is in resource group *apimresourcegroup*.
139+
* A storage account named *backupstorageaccount* is in resource group *storageresourcegroup*. The storage account has a container named *backups*.
140+
* A backup blob will be created with name *ContosoBackup.apimbackup*.
141+
142+
Set variables in Bash:
143+
144+
```azurecli-interactive
145+
apiManagementName="myapim";
146+
apiManagementResourceGroup="apimresourcegroup";
147+
storageAccountName="backupstorageaccount";
148+
storageResourceGroup="storageresourcegroup";
149+
containerName="backups";
150+
backupName="ContosoBackup.apimbackup";
151+
```
152+
153+
### Access using storage access key
154+
155+
```azurecli-interactive
156+
storageKey=$(az storage account keys list --resource-group $storageResourceGroup --account-name $storageAccountName --query [0].value --output tsv)
157+
158+
az apim backup --resource-group $apiManagementResourceGroup --name $apiManagementName \
159+
--storage-account-name $storageAccountName --storage-account-key $storageKey --storage-account-container $containerName --backup-name $backupName
160+
```
161+
162+
Backup is a long-running operation that may take several minutes to complete. During this time the API gateway continues to handle requests, but the state of the service is Updating.
163+
132164
### [REST](#tab/rest)
133165

134166
See [Azure REST API reference](/rest/api/azure/) for information about authenticating and calling Azure REST APIs.
@@ -261,6 +293,35 @@ Restore-AzApiManagement -ResourceGroupName $apiManagementResourceGroup -Name $ap
261293

262294
Restore is a long-running operation that may take up to 45 minutes or more to complete.
263295

296+
### [CLI](#tab/cli)
297+
298+
In the following examples,
299+
300+
* An API Management instance named *myapim* is restored from the backup blob named *ContosoBackup.apimbackup* in storage account *backupstorageaccount*.
301+
* The backup blob is in a container named *backups*.
302+
303+
Set variables in Bash:
304+
305+
```azurecli-interactive
306+
apiManagementName="myapim";
307+
apiManagementResourceGroup="apimresourcegroup";
308+
storageAccountName="backupstorageaccount";
309+
storageResourceGroup="storageresourcegroup";
310+
containerName="backups";
311+
backupName="ContosoBackup.apimbackup"
312+
```
313+
314+
### Access using storage access key
315+
316+
```azurecli-interactive
317+
storageKey=$(az storage account keys list --resource-group $storageResourceGroup --account-name $storageAccountName --query [0].value --output tsv)
318+
319+
az apim restore --resource-group $apiManagementResourceGroup --name $apiManagementName \
320+
--storage-account-name $storageAccountName --storage-account-key $storageKey --storage-account-container $containerName --backup-name $backupName
321+
```
322+
323+
Restore is a long-running operation that may take up to 45 minutes or more to complete.
324+
264325
### [REST](#tab/rest)
265326

266327
To restore an API Management service from a previously created backup, make the following HTTP request:

articles/api-management/breaking-changes/workspaces-breaking-changes-march-2025.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ The following are abbreviated steps to add a workspace gateway to a workspace. F
6565

6666
> [!NOTE]
6767
> * The workspace gateway incurs additional charges. For more information, see [API Management pricing](https://aka.ms/apimpricing).
68-
> * API Management currently supports a dedicated gateway per workspace only. If this is impacting your migration plans, see the workspaces roadmap in the [workspaces GA announcement](https://aka.ms/apim/workspaces/ga-announcement).
68+
> * We're introducing the ability to associate multiple workspaces with a workspace gateway, helping organizations manage APIs with workspaces at a lower cost. This feature is being rolled out starting in December 2024 and it may not be available to all eligible services before January. [Learn more](https://aka.ms/apim/workspaces/sharedgateway)
6969
7070
1. In the [Azure portal](https://portal.azure.com), navigate to your API Management instance.
7171
1. In the left menu, under **APIs**, select **Workspaces**.

articles/api-management/how-to-create-workspace.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: dlepow
55
ms.topic: how-to
66
ms.service: azure-api-management
77
ms.author: danlep
8-
ms.date: 07/10/2024
8+
ms.date: 11/12/2024
99
ms.custom:
1010
---
1111

@@ -24,7 +24,8 @@ Follow the steps in this article to:
2424
* Assign permissions to the workspace
2525

2626
> [!NOTE]
27-
> Currently, creating a workspace gateway is a long-running operation that can take up to 3 hours or more to complete.
27+
> * Currently, creating a workspace gateway is a long-running operation that can take up to 3 hours or more to complete.
28+
> * We're introducing the ability to associate multiple workspaces with a workspace gateway, helping organizations manage APIs with workspaces at a lower cost. This feature is being rolled out starting in December 2024 and it may not be available to all eligible services before January. [Learn more](https://aka.ms/apim/workspaces/sharedgateway)
2829
2930
## Prerequisites
3031

articles/api-management/migrate-stv1-to-stv2-vnet.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: dlepow
66
ms.service: azure-api-management
77
ms.custom:
88
ms.topic: how-to
9-
ms.date: 09/16/2024
9+
ms.date: 11/04/2024
1010
ms.author: danlep
1111
---
1212

@@ -25,6 +25,8 @@ For a VNet-inject instance, you have the following migration options:
2525

2626
* [**Option 2: Change to a new subnet**](#option-2-migrate-and-change-to-new-subnet) - Migrate your instance by specifying a different subnet in the same or a different VNet. After migration, optionally migrate back to the instance's original subnet. The migration process changes the VIP address(es) of the instance. After migration, you need to update any network dependencies including DNS, firewall rules, and VNets to use the new VIP address(es).
2727

28+
Under certain, less frequent conditions, migration in the same subnet may not be possible or behaves differently. For more information, see [Special conditions and scenarios](#special-conditions-and-scenarios).
29+
2830
If you need to migrate a *non-VNnet-injected* API Management hosted on the `stv1` platform, see [Migrate a non-VNet-injected API Management instance to the stv2 platform](migrate-stv1-to-stv2-no-vnet.md).
2931

3032
[!INCLUDE [api-management-migration-alert](../../includes/api-management-migration-alert.md)]
@@ -217,6 +219,28 @@ After you update the VNet configuration, the status of your API Management insta
217219

218220
[!INCLUDE [api-management-migration-rollback](../../includes/api-management-migration-rollback.md)]
219221

222+
## Special conditions and scenarios
223+
224+
Under certain conditions, [Option 1: Migrate and keep same subnet](#option-1-migrate-and-keep-same-subnet) may not be available or behaves differently. The portal detects these conditions and recommends the migration option(s). If you aren't able to use Option 1, or multiple conditions are present, use [Option 2: Change to a new subnet](#option-2-migrate-and-change-to-new-subnet).
225+
226+
* **VNet with special internal conditions** - If your API Management instance is currently deployed in a VNet with special internal conditions (unrelated to customer configuration), you are notified in the portal that Option 1 for same-subnet migration in the portal includes additional downtime (approximately 1 hour). Using the portal for migration is recommended. You can also use the following modified Azure CLI script for same-subnet migration with approximately 1 hour of downtime:
227+
228+
```azurecli
229+
APIM_NAME={name of your API Management instance}
230+
# In PowerShell, use the following syntax: $APIM_NAME={name of your API Management instance}
231+
RG_NAME={name of your resource group}
232+
# Get resource ID of API Management instance
233+
APIM_RESOURCE_ID=$(az apim show --name $APIM_NAME --resource-group $RG_NAME --query id --output tsv)
234+
# Call REST API to migrate to stv2 and preserve VIP address for special condition
235+
az rest --method post --uri "$APIM_RESOURCE_ID/migrateToStv2?api-version=2024-06-01-preview&migrateWithDowntime=true" --body '{"mode": "PreserveIP"}'
236+
```
237+
238+
* **Multiple stv1 instances in subnet** - Sufficient free IP addresses may not be available for a same-subnet migration if you attempt to migrate the instances simultaneously. You may be able to migrate instances sequentially using Option 1.
239+
240+
* **Subnet delegation** - If the subnet where API Management is deployed is currently delegated to other Azure services, you must migrate using Option 2.
241+
242+
* **Azure Key Vault blocked** - If access to Azure Key Vault is currently blocked, you must migrate using Option 2, including setting up NSG rules in the new subnet for access to Azure Key Vault.
243+
220244
[!INCLUDE [api-management-migration-support](../../includes/api-management-migration-support.md)]
221245

222246
## Frequently asked questions

articles/api-management/workspaces-overview.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,13 @@ Workspace gateways are managed independently from the API Management service and
6767
* For information on the cost of workspace gateways, see [API Management pricing](https://aka.ms/apimpricing).
6868
* For a detailed comparison of API Management gateways, see [API Management gateways overview](api-management-gateways-overview.md).
6969

70+
> [!NOTE]
71+
> We're introducing the ability to associate multiple workspaces with a workspace gateway, helping organizations manage APIs with workspaces at a lower cost. This feature is being rolled out starting in December 2024 and it may not be available to all eligible services before January. [Learn more](https://aka.ms/apim/workspaces/sharedgateway)
72+
7073
### Gateway hostname
7174

7275
Each association of a workspace to a workspace gateway creates a unique hostname for APIs managed in that workspace. Default hostnames follow the pattern `<workspace-name>-<hash>.gateway.<region>.azure-api.net`. Currently, custom hostnames aren't supported for workspace gateways.
7376

74-
> [!NOTE]
75-
> Through October 2024, APIs in workspaces can be accessed at runtime using the gateway hostname of your API Management instance in addition to the hostname of the workspace gateway.
7677

7778
### Network isolation
7879

@@ -109,7 +110,6 @@ Workspace gateways are currently available in the following regions:
109110
The following constraints currently apply to workspace gateways:
110111

111112
* A workspace gateway needs to be in the same region as the API Management instance's primary Azure region and in the same subscription.
112-
* A gateway can be associated only with one workspace
113113
* A workspace can't be associated with a self-hosted gateway
114114
* Workspace gateways don't support inbound private endpoints
115115
* APIs in workspace gateways can't be assigned custom hostnames

0 commit comments

Comments
 (0)