Skip to content

Commit edb7fe4

Browse files
authored
Merge pull request #290309 from MicrosoftDocs/main
11/11/2024 AM Publish
2 parents 17badda + 0e096b1 commit edb7fe4

File tree

71 files changed

+719
-517
lines changed

Some content is hidden

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

71 files changed

+719
-517
lines changed

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/azure-cache-for-redis/cache-azure-active-directory-for-authentication.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ The following table includes links to code samples. They demonstrate how to conn
147147
| Client library | Language | Link to sample code|
148148
|----|----|----|
149149
| StackExchange.Redis | .NET | [StackExchange.Redis code sample](https://github.com/Azure/Microsoft.Azure.StackExchangeRedis) |
150+
| go-redis | Go | [go-redis code sample](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity#example-package-Redis) |
150151
| redis-py | Python | [redis-py code sample](https://aka.ms/redis/aad/sample-code/python) |
151152
| Jedis | Java | [Jedis code sample](https://aka.ms/redis/aad/sample-code/java-jedis) |
152153
| Lettuce | Java | [Lettuce code sample](https://aka.ms/redis/aad/sample-code/java-lettuce) |

articles/azure-government/documentation-government-overview-wwps.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ Your data in an Azure Storage account is [always replicated](../storage/common/s
8080

8181
Data in an Azure Storage account is always replicated three times in the primary region. Azure Storage provides LRS and ZRS redundancy options for replicating data in the primary region. For applications requiring high availability, you can choose geo-replication to a secondary region that is hundreds of kilometers away from the primary region. Azure Storage offers GRS and GZRS options for copying data to a secondary region. More options are available to you for configuring read access (RA) to the secondary region (RA-GRS and RA-GZRS), as explained in [Read access to data in the secondary region](../storage/common/storage-redundancy.md#read-access-to-data-in-the-secondary-region).
8282

83-
Azure Storage redundancy options can have implications on data residency as Azure relies on [paired regions](../availability-zones/cross-region-replication-azure.md) to deliver [geo-redundant storage](../storage/common/storage-redundancy.md#geo-redundant-storage) (GRS). For example, if you're concerned about geo-replication across regions that span country boundaries, you may want to choose LRS or ZRS to keep Azure Storage data at rest within the geographic boundaries of the country in which the primary region is located. Similarly, [geo replication for Azure SQL Database](/azure/azure-sql/database/active-geo-replication-overview) can be obtained by configuring asynchronous replication of transactions to any region in the world, although it's recommended that paired regions be used for this purpose as well. If you need to keep relational data inside the geographic boundaries of your country/region, you shouldn't configure Azure SQL Database asynchronous replication to a region outside that country/region.
83+
Azure Storage redundancy options can have implications on data residency as Azure relies on [paired regions](../availability-zones/cross-region-replication-azure.md) to deliver [geo-redundant storage](../storage/common/storage-redundancy.md#geo-redundant-storage) (GRS). For example, if you're concerned about geo-replication across regions that span country/region boundaries, you may want to choose LRS or ZRS to keep Azure Storage data at rest within the geographic boundaries of the country/region in which the primary region is located. Similarly, [geo replication for Azure SQL Database](/azure/azure-sql/database/active-geo-replication-overview) can be obtained by configuring asynchronous replication of transactions to any region in the world, although it's recommended that paired regions be used for this purpose as well. If you need to keep relational data inside the geographic boundaries of your country/region, you shouldn't configure Azure SQL Database asynchronous replication to a region outside that country/region.
8484

8585
As described on the [data location page](https://azure.microsoft.com/global-infrastructure/data-residency/), most Azure **regional** services honor the data at rest commitment to ensure that your data remains within the geographic boundary where the corresponding service is deployed. A handful of exceptions to this rule are noted on the data location page. You should review these exceptions to determine if the type of data stored outside your chosen deployment Geography meets your needs.
8686

articles/azure-resource-manager/bicep/bicep-cli.md

Lines changed: 100 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Bicep CLI commands and overview
33
description: Describes the commands that you can use in the Bicep CLI. These commands include building Azure Resource Manager templates from Bicep.
44
ms.topic: reference
55
ms.custom: devx-track-azurecli, devx-track-bicep, devx-track-arm-template
6-
ms.date: 10/23/2024
6+
ms.date: 10/30/2024
77
---
88

99
# Bicep CLI commands
@@ -140,6 +140,99 @@ To install a specific version:
140140
az bicep install --version v0.3.255
141141
```
142142

143+
## jsonrpc
144+
145+
The `jsonrpc` command enables running the Bicep CLI with a JSON-RPC interface, allowing for programmatic interaction with structured output and avoiding cold-start delays when compiling multiple files. This setup also supports building libraries to interact with Bicep files programmatically in non-.NET languages.
146+
147+
The wire format for sending and receiving input/output is header-delimited, using the following structure, where `\r` and `\n` represent carriage return and line feed characters:
148+
149+
```
150+
Content-Length: <length>\r\n\r\n<message>\r\n\r\n
151+
```
152+
153+
* `<length>` is the length of the `<message>` string, including the trailing `\r\n\r\n`.
154+
* `<message>` is the raw JSON message.
155+
156+
For example:
157+
158+
```
159+
Content-Length: 72\r\n\r\n{"jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {}}\r\n\r\n
160+
```
161+
162+
The following message shows an example for Bicep version.
163+
164+
* The input:
165+
166+
```json
167+
{
168+
"jsonrpc": "2.0",
169+
"id": 0,
170+
"method": "bicep/version",
171+
"params": {}
172+
}
173+
```
174+
175+
* The output:
176+
177+
```json
178+
{
179+
"jsonrpc": "2.0",
180+
"id": 0,
181+
"result": {
182+
"version": "0.24.211"
183+
}
184+
}
185+
```
186+
187+
For the available methods & request/response bodies, see [`ICliJsonRpcProtocol.cs`](https://github.com/Azure/bicep/blob/main/src/Bicep.Cli/Rpc/ICliJsonRpcProtocol.cs).
188+
For an example establishing a JSONRPC connection and interacting with Bicep files programmatically using Node, see [`jsonrpc.test.ts`](https://github.com/Azure/bicep/blob/main/src/Bicep.Cli.E2eTests/src/jsonrpc.test.ts).
189+
190+
### Usage for named pipe
191+
192+
Use the following syntax to connect to an existing named pipe as a JSONRPC client.
193+
194+
```bicep cli
195+
bicep jsonrpc --pipe <named_pipe>`
196+
```
197+
198+
`<named_pipe>` is an existing named pipe to connect the JSONRPC client to.
199+
200+
To connect to a named pipe on OSX/Linux :
201+
202+
```bicep cli
203+
bicep jsonrpc --pipe /tmp/bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock
204+
```
205+
206+
To connect to a named pipe on Windows :
207+
208+
```bicep cli
209+
bicep jsonrpc --pipe \\.\pipe\\bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock`
210+
```
211+
212+
For more examples, see [C#](https://github.com/Azure/bicep/blob/096c32f9d5c42bfb85dff550f72f3fe16f8142c7/src/Bicep.Cli.IntegrationTests/JsonRpcCommandTests.cs#L24-L50) and [node.js](https://github.com/anthony-c-martin/bicep-node/blob/4769e402f2d2c1da8d27df86cb3d62677e7a7456/src/utils/jsonrpc.ts#L117-L151).
213+
214+
### Usage for TCP socket
215+
216+
Use the following syntax to connect to an existing TCP socket as a JSONRPC client.
217+
218+
```bicep cli
219+
bicep jsonrpc --socket <tcp_socket>
220+
```
221+
222+
`<tcp_socket>` is a socket number to connect the JSONRPC client to.
223+
224+
To connect to a TCP socket
225+
226+
`bicep jsonrpc --socket 12345`
227+
228+
### Usage for stdin and stdout
229+
230+
Use the following syntax to run the JSONRPC interface using stdin & stdout for messages.
231+
232+
```bicep cli
233+
bicep jsonrpc --stdio
234+
```
235+
143236
## lint
144237

145238
The `lint` command returns the errors and the [linter rule](./linter.md) violations of a Bicep file.
@@ -264,19 +357,19 @@ module stgModule 'br:exampleregistry.azurecr.io/bicep/modules/storage:v1' = {
264357

265358
The local cache is found in:
266359

267-
- On Windows
360+
* On Windows
268361

269362
```path
270363
%USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>
271364
```
272365
273-
- On Linux
366+
* On Linux
274367
275368
```path
276369
/home/<username>/.bicep
277370
```
278371
279-
- On Mac
372+
* On Mac
280373
281374
```path
282375
~/.bicep
@@ -318,6 +411,6 @@ If the Bicep CLI hasn't been installed, you'll encounter an error message statin
318411

319412
To learn about deploying a Bicep file, see:
320413

321-
- [Azure CLI](deploy-cli.md)
322-
- [Cloud Shell](deploy-cloud-shell.md)
323-
- [PowerShell](deploy-powershell.md)
414+
* [Azure CLI](deploy-cli.md)
415+
* [Cloud Shell](deploy-cloud-shell.md)
416+
* [PowerShell](deploy-powershell.md)

articles/backup/blob-backup-support-matrix.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Support matrix for Azure Blobs backup
33
description: Provides a summary of support settings and limitations when backing up Azure Blobs.
44
ms.topic: reference
5-
ms.date: 09/11/2024
5+
ms.date: 11/11/2024
66
ms.custom: references_regions, engagement-fy24
77
ms.service: azure-backup
88
author: AbhishekMallick-MS
@@ -41,6 +41,7 @@ Operational backup of blobs uses blob point-in-time restore, blob versioning, so
4141
- Operational backup supports block blobs in standard general-purpose v2 storage accounts only. Storage accounts with hierarchical namespace enabled (that is, ADLS Gen2 accounts) aren't supported. <br><br> Also, any page blobs, append blobs, and premium blobs in your storage account won't be restored and only block blobs will be restored.
4242

4343
- Blob backup is also supported when the storage account has private endpoints.
44+
- The backup operation isn't supported for blobs that are uploaded by using [Data Lake Storage APIs](/rest/api/storageservices/data-lake-storage-gen2).
4445

4546
**Other limitations**:
4647

articles/cdn/cdn-app-dev-net.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -347,8 +347,6 @@ We can then confirm the prompts to run the rest of the program.
347347

348348
## Next Steps
349349

350-
To see the completed project from this walkthrough, [download the sample](https://code.msdn.microsoft.com/Azure-CDN-Management-1f2fba2c).
351-
352350
To find more documentation on the Azure CDN Management Library for .NET, view the [reference on MSDN](/dotnet/api/overview/azure/cdn).
353351

354352
Manage your CDN resources with [PowerShell](cdn-manage-powershell.md).

articles/cost-management-billing/costs/export-cost-data-storage-account-sas-key.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ Often, partners don't have their own Azure subscriptions in the tenant associate
1818

1919
## Requirements
2020

21+
- **Availability:** This feature is available only in the public cloud.
22+
2123
- You must be a partner with a Microsoft Partner Agreement. Your customers on the Azure plan must have a signed Microsoft Customer Agreement.
22-
- SAS key-based export isn't supported for indirect enterprise agreements.
24+
- SAS key-based export isn't supported for indirect enterprise agreements.
2325
- SAS key-based export is available for partners that sign in to the Azure portal from a partner tenant. However, the SAS key option isn't supported if you're using Azure Lighthouse for customer management.
2426
- You must be global admin for your partner organization's billing account.
2527
- You must have access to configure a storage account that's in a different tenant of your partner organization. You're responsible for maintaining permissions and data access when your export data to your storage account.

articles/cost-management-billing/manage/mca-setup-account.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,9 @@ Your new billing account simplifies billing for your organization and provides e
142142
3. You use an invoice section to organize your costs based on your needs, similar to departments in your Enterprise Agreement enrollment. Department becomes invoice sections and department administrators become owners of the respective invoice sections. To learn more about invoice sections, see [understand invoice sections](../understand/mca-overview.md#invoice-sections).
143143
4. The accounts that were created in your Enterprise Agreement aren't supported in the new billing account. The account's subscriptions belong to the respective invoice section for their department. Account owners can create and manage subscriptions for their invoice sections.
144144

145+
> [!NOTE]
146+
> When you have SQL Server licenses applied with centrally managed SQL Azure Hybrid Benefit in your Enterprise Agreement and then transfer the agreement to a Microsoft Customer Agreement (enterprise), the licenses don’t automatically transfer. After your new agreement migration completes, you must manually assign licenses with centrally managed SQL Hybrid Benefit. For more information about planning and getting started, see [Transition to centrally managed Azure Hybrid Benefit](../scope-level/transition-existing.md). For more information about centrally managed Azure Hybrid Benefit, see [What is centrally managed Azure Hybrid Benefit for SQL Server](../scope-level/overview-azure-hybrid-benefit-scope.md).
147+
145148
## Changes to billing administrator access
146149

147150
Depending on their access, billing administrators on your Enterprise Agreement enrollment get access to the billing scopes on the new account. The following lists explain the changes to access that result from setup:

articles/cost-management-billing/scope-level/overview-azure-hybrid-benefit-scope.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: What is centrally managed Azure Hybrid Benefit for SQL Server?
33
description: Azure Hybrid Benefit is a licensing benefit that lets you bring your on-premises core-based Windows Server and SQL Server licenses with active Software Assurance (or subscription) to Azure.
44
author: bandersmsft
55
ms.author: banders
6-
ms.date: 03/21/2024
6+
ms.date: 11/11/2024
77
ms.topic: overview
88
ms.service: cost-management-billing
99
ms.subservice: ahb
@@ -33,6 +33,9 @@ To use centrally managed licenses, you must have a specific role assigned to you
3333
- Billing profile contributor
3434
If you don't have one of the roles, your organization must assign one to you. For more information about how to become a member of the roles, see [Manage billing roles](../manage/understand-mca-roles.md#manage-billing-roles-in-the-azure-portal).
3535

36+
> [!NOTE]
37+
> When you have SQL Server licenses applied with centrally managed SQL Azure Hybrid Benefit in your Enterprise Agreement and then transfer the agreement to a Microsoft Customer Agreement (enterprise), the licenses don’t automatically transfer. After your new agreement migration completes, you must manually assign licenses with centrally managed SQL Hybrid Benefit. For more information about migrating from an Enterprise Agreement to a Microsoft Customer Agreement (enterprise), see [Set up your billing account for a Microsoft Customer Agreement](../manage/mca-setup-account.md).
38+
3639
At a high level, here's how centrally managed Azure Hybrid Benefit works:
3740

3841
1. First, confirm that all your SQL Server VMs are visible to you and Azure by enabling automatic registration of the self-installed SQL server images with the IaaS extension. For more information, see [Register multiple SQL VMs in Azure with the SQL IaaS Agent extension](/azure/azure-sql/virtual-machines/windows/sql-agent-extension-manually-register-vms-bulk).

articles/cost-management-billing/scope-level/transition-existing.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Transition to centrally managed Azure Hybrid Benefit
33
description: This article describes the changes and several transition scenarios to illustrate transitioning to centrally managed Azure Hybrid Benefit.
44
author: bandersmsft
55
ms.author: banders
6-
ms.date: 03/21/2024
6+
ms.date: 11/11/2024
77
ms.topic: conceptual
88
ms.service: cost-management-billing
99
ms.subservice: ahb
@@ -13,6 +13,9 @@ ms.subservice: ahb
1313

1414
When you transition to centrally managed Azure Hybrid Benefit, it removes the need to configure the benefit at the resource level. This article describes the changes and several transition scenarios to illustrate the result. For a better understanding about how the new scope-level license management experience applies licenses and discounts to your resources, see [What is centrally managed Azure Hybrid Benefit?](overview-azure-hybrid-benefit-scope.md)
1515

16+
> [!NOTE]
17+
> When you have SQL Server licenses applied with centrally managed SQL Azure Hybrid Benefit in your Enterprise Agreement and then transfer the agreement to a Microsoft Customer Agreement (enterprise), the licenses don’t automatically transfer. After your new agreement migration completes, you must manually assign licenses with centrally managed SQL Hybrid Benefit. For more information about migrating from an Enterprise Agreement to a Microsoft Customer Agreement (enterprise), see [Set up your billing account for a Microsoft Customer Agreement](../manage/mca-setup-account.md).
18+
1619
## Changes to individual resource configuration
1720

1821
When you assign licenses to a subscription using the new experience, changes are shown in the Azure portal. Afterward, you can't manage the benefit at the resource level. Any changes that you make at a scope level override settings at the individual resource level.

0 commit comments

Comments
 (0)