Skip to content

Commit 57aef26

Browse files
authored
Merge pull request #286524 from MicrosoftDocs/main
Publish to Live Wednesday 4AM PST, 9/11
2 parents f97f9e9 + 8c62385 commit 57aef26

File tree

94 files changed

+539
-265
lines changed

Some content is hidden

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

94 files changed

+539
-265
lines changed

articles/azure-arc/servers/manage-vm-extensions-cli.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ For the `--extension-targets` parameter, you need to specify the extension and t
103103
To upgrade the Log Analytics agent extension for Windows that has a newer version available, run the following command:
104104

105105
```azurecli
106-
az connectedmachine upgrade-extension --machine-name "myMachineName" --resource-group "myResourceGroup" --extension-targets '{\"Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent\":{\"targetVersion\":\"1.0.18053.0\"}}'
106+
az connectedmachine upgrade-extension --machine-name "myMachineName" --resource-group "myResourceGroup" --extension-targets '{"Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent":{"targetVersion":"1.0.18053.0"}}'
107107
```
108108

109109
You can review the version of installed VM extensions at any time by running the command [az connectedmachine extension list](/cli/azure/connectedmachine/extension#az-connectedmachine-extension-list). The `typeHandlerVersion` property value represents the version of the extension.

articles/azure-web-pubsub/howto-generate-client-access-url.md

Lines changed: 91 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,13 @@ The same Client Access URL can be generated by using the Web PubSub server SDK.
4040

4141
2. Generate Client Access URL by calling `WebPubSubServiceClient.getClientAccessToken`:
4242

43-
- Generate MQTT client access token
43+
- Generate client access token
4444

4545
```js
46+
// for web pubsub native clients
47+
let token = await serviceClient.getClientAccessToken();
48+
49+
// for mqtt clients
4650
let token = await serviceClient.getClientAccessToken({ clientProtocol: "mqtt" });
4751
```
4852

@@ -90,9 +94,13 @@ The same Client Access URL can be generated by using the Web PubSub server SDK.
9094

9195
2. Generate Client Access URL by calling `WebPubSubServiceClient.GetClientAccessUri`:
9296

93-
- Generate MQTT client access token
97+
- Generate client access token
9498

9599
```csharp
100+
// for web pubsub native clients
101+
var url = service.GetClientAccessUri();
102+
103+
// for mqtt clients
96104
var url = service.GetClientAccessUri(clientProtocol: WebPubSubClientProtocol.Mqtt);
97105
```
98106

@@ -132,9 +140,13 @@ The same Client Access URL can be generated by using the Web PubSub server SDK.
132140

133141
2. Generate Client Access URL by calling `WebPubSubServiceClient.get_client_access_token`:
134142

135-
- Generate MQTT client access token
143+
- Generate client access token
136144

137145
```python
146+
# for web pubsub native clients
147+
token = service.get_client_access_token();
148+
149+
# for mqtt clients
138150
token = service.get_client_access_token(client_protocol="MQTT")
139151
```
140152

@@ -174,7 +186,14 @@ The same Client Access URL can be generated by using the Web PubSub server SDK.
174186

175187
2. Generate Client Access URL by calling `WebPubSubServiceClient.getClientAccessToken`:
176188

177-
- Generate MQTT client access token
189+
- Generate client access token for Web PubSub native clients
190+
191+
```java
192+
GetClientAccessTokenOptions option = new GetClientAccessTokenOptions();
193+
WebPubSubClientAccessToken token = service.getClientAccessToken(option);
194+
```
195+
196+
- Generate client access token for MQTT clients
178197

179198
```java
180199
GetClientAccessTokenOptions option = new GetClientAccessTokenOptions();
@@ -225,3 +244,71 @@ The same Client Access URL can be generated by using the Web PubSub server SDK.
225244
---
226245

227246
In real-world code, we usually have a server side to host the logic generating the Client Access URL. When a client request comes in, the server side can use the general authentication/authorization workflow to validate the client request. Only valid client requests can get the Client Access URL back.
247+
248+
## Generate from REST API `:generateToken`
249+
You could also use Microsoft Entra ID and generate the token by invoking [Generate Client Token REST API](/rest/api/webpubsub/dataplane/web-pub-sub/generate-client-token).
250+
251+
> [!NOTE]
252+
> Web PubSub does not recommend that you create Microsoft Entra ID tokens for Microsoft Entra ID service principals manually. This is because each Microsoft Entra ID token is short-lived, typically expiring within one hour. After this time, you must manually generate a replacement Microsoft Entra ID token. Instead, use [our SDKs](#generate-from-service-sdk) that automatically generate and replace expired Microsoft Entra ID tokens for you.
253+
254+
1. Follow [Authorize from application ](./howto-authorize-from-application.md#add-a-client-secret) to enable Microsoft Entra ID and add a client secret.
255+
256+
1. Gather the following information:
257+
258+
| Value name | How to get the value |
259+
| --- | --- |
260+
| TenantId | TenantId is the value of **Directory (tenant) ID** on the **Overview** pane of the application you registered. |
261+
| ClientId | ClientId is the value of **Application (client) ID** from the **Overview** pane of the application you registered. |
262+
| ClientSecret | ClientSecret is the value of the client secret you just added in step #1 |
263+
264+
1. Get the Microsoft Entra ID token from Microsoft identity platform
265+
266+
We use [CURL](https://curl.se/) tool to show how to invoke the REST APIs. The tool is bundled into Windows 10/11, and you could install the tool following [Install CURL](https://curl.se/download.html).
267+
268+
```bash
269+
# set neccessory values, replace the placeholders with your actual values
270+
export TenantId=<your_tenant_id>
271+
export ClientId=<your_client_id>
272+
export ClientSecret=<your_client_secret>
273+
274+
curl -X POST "https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token" \
275+
-H "Content-Type: application/x-www-form-urlencoded" \
276+
--data-urlencode "grant_type=client_credentials" \
277+
--data-urlencode "client_id=$ClientId" \
278+
--data-urlencode "client_secret=$ClientSecret" \
279+
--data-urlencode "scope=https://webpubsub.azure.com/.default"
280+
281+
```
282+
The above curl command sends a POST request to Microsoft identity endpoint to get the [Microsoft Entra ID token](/entra/identity-platform/id-tokens) back.
283+
In the response you see the Microsoft Entra ID token in `access_token` field. Copy and store it for later use.
284+
285+
1. Use the Microsoft Entra ID token to invoke `:generateToken`
286+
287+
```bash
288+
# Replace the values in {} with your actual values.
289+
export Hostname={your_service_hostname}
290+
export Hub={your_hub}
291+
export Microsoft_Entra_Token={Microsoft_entra_id_token_from_previous_step}
292+
curl -X POST "https://$Hostname/api/hubs/$Hub/:generateToken?api-version=2024-01-01" \
293+
-H "Authorization: Bearer $Microsoft_Entra_Token" \
294+
-H "Content-Type: application/json"
295+
```
296+
297+
If you need to generate the token for MQTT clients, append the `clientType=mqtt` parameter to the URL:
298+
299+
```bash
300+
export Hostname={your_service_hostname}
301+
export Hub={your_hub}
302+
export Microsoft_Entra_Token={Microsoft_entra_id_token_from_previous_step}
303+
curl -X POST "https://$Hostname/api/hubs/$Hub/:generateToken?api-version=2024-01-01&clientType=mqtt" \
304+
-H "Authorization: Bearer $Microsoft_Entra_Token" \
305+
-H "Content-Type: application/json"
306+
```
307+
308+
After running the `cURL` command, you should get a response like this:
309+
310+
```json
311+
{
312+
"token": "ABCDEFG.ABC.ABC"
313+
}
314+
```

articles/backup/back-up-azure-stack-hyperconverged-infrastructure-virtual-machines.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
title: Back up Azure Stack HCI virtual machines with MABS
33
description: This article contains the procedures to back up and recover virtual machines using Microsoft Azure Backup Server (MABS).
4-
ms.topic: conceptual
5-
ms.date: 05/06/2024
4+
ms.topic: how-to
5+
ms.date: 09/11/2024
66
ms.service: azure-backup
77
ms.custom: engagement-fy24
88
author: AbhishekMallick-MS

articles/backup/back-up-file-data.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
title: Back up file data with MABS
33
description: You can back up file data on server and client computers with MABS.
4-
ms.topic: conceptual
5-
ms.date: 08/19/2021
4+
ms.topic: how-to
5+
ms.date: 09/11/2024
66
author: AbhishekMallick-MS
77
ms.author: v-abhmallick
88
---

articles/backup/backup-azure-linux-database-consistent-enhanced-pre-post.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
---
2-
title: Database consistent snapshots using enhanced pre-post script framework
3-
description: Learn how Azure Backup allows you to take database consistent snapshots, leveraging Azure VM backup and using packaged pre-post scripts
4-
ms.topic: conceptual
2+
title: Database consistent snapshots using enhanced prepost script framework
3+
description: Learn how Azure Backup allows you to take database consistent snapshots, leveraging Azure Virtual Machine (VM) backup and using packaged prepost scripts
4+
ms.topic: how-to
55
ms.custom: linux-related-content
6-
ms.date: 09/16/2021
6+
ms.date: 09/11/2024
77
author: AbhishekMallick-MS
88
ms.author: v-abhmallick
99
---
1010

11-
# Enhanced pre-post scripts for database consistent snapshot
11+
# Enhanced prepost scripts for database consistent snapshot
1212

13-
Azure Backup service already provides a [_pre-post_ script framework](./backup-azure-linux-app-consistent.md) to achieve application consistency in Linux VMs using Azure Backup. This involves invoking a pre-script (to quiesce the applications) before taking
13+
Azure Backup service already provides a [_prepost_ script framework](./backup-azure-linux-app-consistent.md) to achieve application consistency in Linux VMs using Azure Backup. This process involves invoking a pre-script (to quiesce the applications) before taking
1414
snapshot of disks and calling post-script (commands to un-freeze the applications) after the snapshot is completed to return the applications to the normal mode.
1515

1616
Authoring, debugging and maintenance of e pre/post scripts could be challenging. To remove this complexity, Azure Backup provides simplified pre/post-script experience for marquee databases to get application consistent snapshot with least overhead.
@@ -19,7 +19,7 @@ Authoring, debugging and maintenance of e pre/post scripts could be challenging.
1919

2020
The new _enhanced_ pre-post script framework has the following key benefits:
2121

22-
- These pre-post scripts are directly installed in Azure VMs along with the backup extension. This helps to eliminate authoring and download them from an external location.
22+
- These pre-post scripts are directly installed in Azure VMs along with the backup extension, which helps to eliminate authoring and download them from an external location.
2323
- You can view the definition and content of pre-post scripts in [GitHub](https://github.com/Azure/azure-linux-extensions/tree/master/VMBackup/main/workloadPatch/DefaultScripts), even submit suggestions and changes. You can even submit suggestions and changes via GitHub, which will be triaged and added to benefit the broader community.
2424
- You can even add new pre-post scripts for other databases via [GitHub](https://github.com/Azure/azure-linux-extensions/tree/master/VMBackup/main/workloadPatch/DefaultScripts), _which will be triaged and addressed to benefit the broader community_.
2525
- The robust framework is efficient to handle scenarios, such as pre-script execution failure or crashes. In any event, the post-script automatically runs to roll back all changes done in the pre-script.
@@ -56,7 +56,7 @@ The following table describes the parameters:
5656
|Parameter |Mandatory |Explanation |
5757
|---------|---------|---------|
5858
|workload_name | Yes | This will contain the name of the database for which you need application consistent backup. The current supported values are `oracle` or `mysql`. |
59-
|command_path/configuration_path | | This will contain path to the workload binary. This is not a mandatory field if the workload binary is set as path variable. |
59+
|command_path/configuration_path | | This will contain path to the workload binary. This isn't a mandatory field if the workload binary is set as path variable. |
6060
|linux_user | Yes | This will contain the username of the Linux user with access to the database user login. If this value isn't set, then root is considered as the default user. |
6161
|credString | | This stands for credential string to connect to the database. This will contain the entire login string. |
6262
|ipc_folder | | The workload can only write to certain file system paths. You need to provide here this folder path so that the pre-script can write the states to this folder path. |
@@ -87,9 +87,9 @@ Therefore, a daily snapshot + logs with occasional full backup for long-term ret
8787

8888
### Log backup strategy
8989

90-
The enhanced pre-post script framework is built on Azure VM backup that schedules backup once per day. So, the data loss window with RPO as 24 hours isn’t suitable for production databases. This solution is complemented with a log backup strategy where log backups are streamed out explicitly.
90+
The enhanced pre-post script framework is built on Azure VM backup that schedules backup once per day. So, the data loss window with Recovery Point Objective (RPO) as 24 hours isn’t suitable for production databases. This solution is complemented with a log backup strategy where log backups are streamed out explicitly.
9191

92-
[NFS on blob](../storage/blobs/network-file-system-protocol-support.md) and [NFS on AFS (Preview)](../storage/files/files-nfs-protocol.md) help in easy mounting of volumes directly on database VMs and use database clients to transfer log backups. The data loss window, that is RPO, falls to the frequency of log backups. Also, NFS targets don't need to be highly performant as you might not need to trigger regular streaming (full and incremental) for operational backups after you have a database consistent snapshots.
92+
[NFS on blob](../storage/blobs/network-file-system-protocol-support.md) and [NFS on AFS (Preview)](../storage/files/files-nfs-protocol.md) help in easy mounting of volumes directly on database VMs and use database clients to transfer log backups. The data loss window that is RPO, falls to the frequency of log backups. Also, NFS targets don't need to be highly performant as you might not need to trigger regular streaming (full and incremental) for operational backups after you have a database consistent snapshots.
9393

9494
>[!NOTE]
9595
>The enhanced pre- script usually takes care to flush all the log transactions in transit to the log backup destination, before quiescing the database to take a snapshot. Therefore, the snapshots are database consistent and reliable during recovery.

articles/backup/backup-azure-manage-vms.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
title: Manage and monitor Azure VM backups
33
description: Learn how to manage and monitor Azure VM backups by using the Azure Backup service.
4-
ms.topic: conceptual
5-
ms.date: 07/05/2022
4+
ms.topic: how-to
5+
ms.date: 09/11/2024
66
ms.service: azure-backup
77
author: AbhishekMallick-MS
88
ms.author: v-abhmallick

articles/backup/backup-azure-manage-windows-server.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
title: Manage Azure Recovery Services vaults and servers
33
description: In this article, learn how to use the Recovery Services vault Overview dashboard to monitor and manage your Recovery Services vaults.
4-
ms.topic: conceptual
5-
ms.date: 07/08/2019
4+
ms.topic: how-to
5+
ms.date: 09/11/2024
66
author: AbhishekMallick-MS
77
ms.author: v-abhmallick
88
---

articles/backup/backup-azure-monitoring-built-in-monitor.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
title: Monitor Azure Backup protected workloads
33
description: In this article, learn about the monitoring and notification capabilities for Azure Backup workloads using the Azure portal.
4-
ms.topic: conceptual
5-
ms.date: 09/14/2022
4+
ms.topic: how-to
5+
ms.date: 09/11/2024
66
ms.assetid: 86ebeb03-f5fa-4794-8a5f-aa5cbbf68a81
77
ms.service: azure-backup
88
author: AbhishekMallick-MS

articles/backup/backup-azure-monitoring-use-azuremonitor.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
title: Monitor Azure Backup with Azure Monitor
33
description: Monitor Azure Backup workloads and create custom alerts by using Azure Monitor.
4-
ms.topic: conceptual
5-
ms.date: 08/01/2023
4+
ms.topic: how-to
5+
ms.date: 09/11/2024
66
ms.assetid: 01169af5-7eb0-4cb0-bbdb-c58ac71bf48b
77
author: AbhishekMallick-MS
88
ms.author: v-abhmallick

articles/backup/backup-azure-mysql-flexible-server-support-matrix.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
title: Support matrix for Azure Database for MySQL - Flexible Server retention for long term by using Azure Backup
33
description: Provides a summary of support settings and limitations when backing up Azure Database for MySQL - Flexible Server.
4-
ms.topic: conceptual
5-
ms.date: 03/08/2024
4+
ms.topic: reference
5+
ms.date: 09/11/2024
66
ms.custom: references_regions
77
ms.service: azure-backup
88
author: AbhishekMallick-MS

0 commit comments

Comments
 (0)