Skip to content

Commit a72f701

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into yelevin/unified-device-timeline-sentinel
2 parents 0d178ec + 305c8a4 commit a72f701

File tree

115 files changed

+6205
-7460
lines changed

Some content is hidden

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

115 files changed

+6205
-7460
lines changed

.openpublishing.redirection.json

Lines changed: 5089 additions & 4999 deletions
Large diffs are not rendered by default.

articles/automation/enable-managed-identity-for-automation.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Using a system-assigned managed identity for an Azure Automation account
33
description: This article describes how to set up managed identity for Azure Automation accounts.
44
services: automation
55
ms.subservice: process-automation
6-
ms.date: 09/09/2024
6+
ms.date: 01/20/2025
77
ms.topic: how-to
88
ms.custom: devx-track-azurepowershell
99
ms.service: azure-automation
@@ -23,7 +23,7 @@ If you don't have an Azure subscription, create a [free account](https://azure.m
2323

2424
- An Azure resource that you want to access from your Automation runbook. This resource needs to have a role defined for the managed identity, which helps the Automation runbook authenticate access to the resource. To add roles, you need to be an owner for the resource in the corresponding Microsoft Entra tenant.
2525

26-
- If you want to execute hybrid jobs using a managed identity, update the agent-based Hybrid Runbook Worker to the latest version. There is no minimum version requirement for extension-based Hybrid Runbook Worker, and all the versions would work. The minimum required versions for the agent-based Hybrid Worker are:
26+
- There is no minimum version requirement for extension-based Hybrid Runbook Worker, and all the versions would work. The minimum required versions for the agent-based Hybrid Worker are:
2727

2828
- Windows Hybrid Runbook Worker: version 7.3.1125.0
2929
- Linux Hybrid Runbook Worker: version 1.7.4.0
@@ -67,7 +67,7 @@ $automationAccount = "automationAccountName"
6767
```
6868

6969
> [!IMPORTANT]
70-
> The new Automation account-level identity overrides any previous VM-level system-assigned identities which are described in [Use runbook authentication with managed identities](./automation-hrw-run-runbooks.md#runbook-auth-managed-identities). If you're running hybrid jobs on Azure VMs that use a VM's system-assigned identity to access runbook resources, then the Automation account identity will be used for the hybrid jobs. This means your existing job execution may be affected if you've been using the Customer Managed Keys (CMK) feature of your Automation account.<br/><br/>If you wish to continue using the VM's managed identity, you shouldn't enable the Automation account-level identity. If you've already enabled it, you can disable the Automation account system-assigned managed identity. See [Disable your Azure Automation account managed identity](./disable-managed-identity-for-automation.md).
70+
> The new Automation account-level identity overrides any previous VM-level system-assigned identities which are described in [Use runbook authentication with managed identities](./automation-hrw-run-runbooks.md#runbook-auth-managed-identities). If you're running hybrid jobs on Azure VMs that use a VM's system-assigned identity to access runbook resources, then the Automation account identity will be used for the hybrid jobs. <br/><br/>If you wish to continue using the VM's managed identity, you shouldn't enable the Automation account-level identity. If you've already enabled it, you can disable the Automation account system-assigned managed identity. See [Disable your Azure Automation account managed identity](./disable-managed-identity-for-automation.md).
7171
7272
### Enable using the Azure portal
7373

@@ -258,7 +258,7 @@ Perform the following steps.
258258
259259
An Automation account can use its system-assigned managed identity to get tokens to access other resources protected by Microsoft Entra ID, such as Azure Key Vault. These tokens don't represent any specific user of the application. Instead, they represent the application that's accessing the resource. In this case, for example, the token represents an Automation account.
260260
261-
Before you can use your system-assigned managed identity for authentication, set up access for that identity on the Azure resource where you plan to use the identity. To complete this task, assign the appropriate role to that identity on the target Azure resource.
261+
Before you can use your system-assigned managed identity to perform any actions within Azure, set up access for that identity on the Azure resource where you plan to use the identity. To complete this task, assign the appropriate role to that identity on the target Azure resource.
262262
263263
Follow the principal of least privilege and carefully assign permissions only required to execute your runbook. For example, if the Automation account is only required to start or stop an Azure VM, then the permissions assigned to the Run As account or managed identity needs to be only for starting or stopping the VM. Similarly, if a runbook is reading from blob storage, then assign read-only permissions.
264264

articles/azure-functions/functions-bindings-error-pages.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ To avoid loss of data or missed messages, it's important to practice good error
3434
| **Plan your retry strategy** | Several Functions bindings extensions provide built-in support for retries and others let you define retry policies, which are implemented by the Functions runtime. For triggers that don't provide retry behaviors, you should consider implementing your own retry scheme. For more information, see [Retries](#retries).|
3535
| **Design for idempotency** | The occurrence of errors when you're processing data can be a problem for your functions, especially when you're processing messages. It's important to consider what happens when the error occurs and how to avoid duplicate processing. To learn more, see [Designing Azure Functions for identical input](functions-idempotent.md). |
3636

37+
>[!TIP]
38+
> When using output bindings, you aren't able to handle errors that occur when accessing the remote service. Because of this, you should validate all data passed to your output bindings to avoid raising any known exceptions. If you must be able to handle such exceptions in your function code, you should access the remote service by using the client SDK instead of relying on output bindings.
39+
3740
## Retries
3841

3942
There are two kinds of retries available for your functions:

articles/azure-netapp-files/configure-customer-managed-keys.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ The following diagram demonstrates how customer-managed keys work with Azure Net
3434
* Applying Azure network security groups on the private link subnet to Azure Key Vault isn't supported for Azure NetApp Files customer-managed keys. Network security groups don't affect connectivity to Private Link unless `Private endpoint network policy` is enabled on the subnet. It's _required_ to keep this option disabled.
3535
* If Azure NetApp Files fails to create a customer-managed key volume, error messages are displayed. Refer to the [Error messages and troubleshooting](#error-messages-and-troubleshooting) section for more information.
3636
* Do not make any changes to the underlying Azure Key Vault or Azure Private Endpoint after creating a customer-managed keys volume. Making changes can make the volumes inaccessible.
37+
* Azure NetApp Files supports the ability to [seamlessly transition existing volumes from platform-managed keys to customer-managed-keys](#transition-volumes).
3738
* If Azure Key Vault becomes inaccessible, Azure NetApp Files loses its access to the encryption keys and the ability to read or write data to volumes enabled with customer-managed keys. In this situation, create a support ticket to have access manually restored for the affected volumes.
3839
* Azure NetApp Files supports customer-managed keys on source and data replication volumes with cross-region replication or cross-zone replication relationships.
3940

articles/azure-web-pubsub/concept-client-protocols.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,25 @@ var client1 = new WebSocket('wss://test.webpubsub.azure.com/client/hubs/hub1');
5959
var client2 = new WebSocket('wss://test.webpubsub.azure.com/client/hubs/hub1', 'custom.subprotocol')
6060
```
6161

62+
Simple WebSocket client has two modes: `sendEvent` and `sendToGroup`. The mode is determined once the connection is established and cannot be changed later.
63+
64+
`sendEvent` is the default mode for the simple WebSocket client. In `sendEvent` mode, every WebSocket frame the client sent is considered as a `message` event. Users can configure [event handlers](./concept-service-internals.md#event-handler) or [event listeners](./concept-service-internals.md#event-listener) to handle these `message` events.
65+
66+
```javascript
67+
// Every data frame is considered as a `message` event
68+
var client3 = new WebSocket('wss://test.webpubsub.azure.com/client/hubs/hub1');
69+
70+
// Or explicitly set the mode
71+
var client4 = new WebSocket('wss://test.webpubsub.azure.com/client/hubs/hub1?webpubsub_mode=sendEvent');
72+
```
73+
74+
In `sendToGroup` mode, every WebSocket frame the client sent is considered as a message to be published to a specific group. `group` is a required query parameter in this mode, and only a single value is allowed. The connection should also have corresponding [permissions](#permissions) to send messages to the target group. Both `webpubsub.sendToGroup.<group>` and `webpubsub.sendToGroup` roles work for it.
75+
76+
For example, in JavaScript, you can create a simple WebSocket client in `sendToGroup` mode with `group=group1` by using the following code:
77+
```javascript
78+
var client5 = new WebSocket('wss://test.webpubsub.azure.com/client/hubs/hub1?webpubsub_mode=sendToGroup&group=group1');
79+
```
80+
6281
## The PubSub WebSocket client
6382

6483
A **PubSub WebSocket client** is the WebSocket client using subprotocols defined by the Azure Web PubSub service:

articles/azure-web-pubsub/concept-service-internals.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Azure Web PubSub Service provides an easy way to publish/subscribe messages usin
2929

3030
Workflow as shown in the above graph:
3131

32-
1. A _client_ connects to the service `/client` endpoint using WebSocket transport. Service forward every WebSocket frame to the configured upstream(server). The WebSocket connection can connect with any custom subprotocol for the server to handle, or it can connect with the service-supported subprotocol `json.webpubsub.azure.v1`, which empowers the clients to do pub/sub directly. Details are described in [client protocol](#client-protocol).
32+
1. A _client_ connects to the service `/client` endpoint using WebSocket transport. Service forwards every WebSocket frame to the configured upstream(server) by default, the WebSocket connection can connect with any custom subprotocol for the server to handle. Alternatively, the client could connect with mode `sendToGroup` and send every WebSocket frame to a specific group. The client could also connect with [the service-supported subprotocols](#the-pubsub-websocket-client), which offer features such as sending events to your upstream, joining groups, and directly sending messages to groups. Details are described in [client protocol](#client-protocol).
3333
2. On different client events, the service invokes the server using **CloudEvents protocol**. [**CloudEvents**](https://github.com/cloudevents/spec/tree/v1.0.1) is a standardized and protocol-agnostic definition of the structure and metadata description of events hosted by the Cloud Native Computing Foundation (CNCF). Detailed implementation of CloudEvents protocol relies on the server role, described in [server protocol](#server-protocol).
3434
3. The Web PubSub server can invoke the service using the REST API to send messages to clients or to manage the connected clients. Details are described in [server protocol](#server-protocol)
3535

@@ -59,7 +59,7 @@ var client2 = new WebSocket(
5959
);
6060
```
6161

62-
A simple WebSocket client follows a client<->server architecture, as the following sequence diagram shows:
62+
[Simple WebSocket client](#the-simple-websocket-client) has two modes. Its default mode `sendEvent` follows a client<->server architecture, as the below sequence diagram shows:
6363
![Diagram showing the sequence for a client connection.](./media/concept-service-internals/simple-client-sequence.png)
6464

6565
1. When the client starts a WebSocket handshake, the service tries to invoke the `connect` event handler for WebSocket handshake. Developers can use this handler to handle the WebSocket handshake, determine the subprotocol to use, authenticate the client, and join the client to groups.
@@ -127,7 +127,7 @@ A PubSub WebSocket client can:
127127

128128
[PubSub WebSocket Subprotocol](./reference-json-webpubsub-subprotocol.md) contains the details of the `json.webpubsub.azure.v1` subprotocol.
129129

130-
You noticed that for a [simple WebSocket client](#the-simple-websocket-client), the _server_ is a **must have** role to receive the `message` events from clients. A simple WebSocket connection always triggers a `message` event when it sends messages, and always relies on the server-side to process messages and do other operations. With the help of the `json.webpubsub.azure.v1` subprotocol, an authorized client can join a group and publish messages to a group directly. It can also route messages to different event handlers / event listeners by customizing the _event_ the message belongs.
130+
In the dafult mode `sendEvent` of [simple WebSocket client](#the-simple-websocket-client), the _server_ is a **must have** role to receive the `message` events from clients. A simple WebSocket connection in `sendEvent` mode always triggers a `message` event when it sends messages, and always relies on the server-side to process messages and do other operations. The `sendToGroup` mode only empowers clients to publish messages to groups directly without triggering requests to the server, which is still limited. `json.webpubsub.azure.v1` subprotocol empowers clients to do much more without triggering requests to the server. With the help of it, an authorized client can join a group and publish messages to a group directly. It can also route messages to different event handlers / event listeners by customizing the _event_ the message belongs.
131131

132132
#### Scenarios
133133

articles/azure-web-pubsub/includes/terms.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ms.date: 01/23/2024
1616

1717
- **Message**: When the client is connected, it can send messages to the upstream application, or receive messages from the upstream application, through the WebSocket connection. Messages can be in plain text, binary, or JSON format and have a maximum size of 1 MB.
1818

19-
- **Client Events**: Events are created during the lifecycle of a client connection. For example, a simple WebSocket client connection creates a `connect` event when it tries to connect to the service, a `connected` event when it successfully connected to the service, a `message` event when it sends messages to the service and a `disconnected` event when it disconnects from the service. Details about *client events* are illustrated in [Client protocol](..\concept-service-internals.md#client-protocol) section.
19+
- **Client Events**: Events are created during the lifecycle of a client connection. For example, a simple WebSocket client connection creates a `connect` event when it tries to connect to the service, a `connected` event when it successfully connected to the service, a `message` event when it sends messages to the service in its default mode `sendEvent` and a `disconnected` event when it disconnects from the service. Details about *client events* are illustrated in [Client protocol](..\concept-service-internals.md#client-protocol) section.
2020

2121
- **Event Handler**: The event handler contains the logic to handle the client events. Register and configure event handlers in the service through the portal or Azure CLI beforehand. Details are described in [Event handler](..\concept-service-internals.md#event-handler) section.
2222

articles/backup/about-azure-vm-restore.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ title: About the Azure Virtual Machine restore process
33
description: Learn how the Azure Backup service restores Azure virtual machines
44
ms.topic: overview
55
ms.date: 09/09/2024
6-
author: AbhishekMallick-MS
7-
ms.author: v-abhmallick
6+
author: jyothisuri
7+
ms.author: jsuri
88
ms.custom: engagement-fy24
99
---
1010

articles/backup/azure-file-share-support-matrix.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Support Matrix for Azure file share backup by using Azure Backup
33
description: Provides a summary of support settings and limitations when backing up Azure file shares.
44
ms.topic: reference
5-
ms.date: 01/06/2025
5+
ms.date: 01/20/2025
66
ms.custom: references_regions, engagement-fy24
77
ms.service: azure-backup
88
author: AbhishekMallick-MS
@@ -55,7 +55,7 @@ Cross Subscription Backup (CSB) for Azure File share (preview) is currently avai
5555

5656
| Storage account details | Support |
5757
| --- | --- |
58-
| Account Kind | Azure Backup supports Azure file shares present in general-purpose v2, and file storage type storage accounts. |
58+
| Account Kind | Azure Backup supports Azure file shares present in general-purpose v2, and file storage type storage accounts. <br><br> Storage accounts configured with private endpoints are supported. However, a private endpoint on the vault doesn't apply to Azure Files backup scenarios. |
5959

6060
>[!Important]
6161
>The source Storage Account must have the **Allow storage account key access** setting enabled for successful Azure Files backup and restore.

articles/backup/tutorial-restore-disk.md

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Tutorial - Restore a VM with Azure CLI
33
description: Learn how to restore a disk and create a recover a VM in Azure with Backup and Recovery Services.
44
ms.topic: tutorial
5-
ms.date: 11/22/2024
5+
ms.date: 01/20/2025
66
ms.custom: mvc, devx-track-azurecli
77
ms.service: azure-backup
88
author: AbhishekMallick-MS
@@ -278,22 +278,8 @@ Now get the SAS token for this container and template as detailed [here](../azur
278278

279279
```azurecli-interactive
280280
expiretime=$(date -u -d '30 minutes' +%Y-%m-%dT%H:%MZ)
281-
connection=$(az storage account show-connection-string \
282-
--resource-group mystorageaccountRG \
283-
--name mystorageaccount \
284-
--query connectionString)
285-
token=$(az storage blob generate-sas \
286-
--container-name myVM-daa1931199fd4a22ae601f46d8812276 \
287-
--name azuredeploy1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json \
288-
--expiry $expiretime \
289-
--permissions r \
290-
--output tsv \
291-
--connection-string $connection)
292-
url=$(az storage blob url \
293-
--container-name myVM-daa1931199fd4a22ae601f46d8812276 \
294-
--name azuredeploy1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json \
295-
--output tsv \
296-
--connection-string $connection)
281+
token=$(az storage blob generate-sas --account-name $storageAccountName --container-name $containerName --name $templateName --permissions r --expiry $expiretime --auth-mode login --as-user --https-only --output tsv)
282+
url=$(az storage blob url --account-name $storageAccountName --container-name $containerName --name $templateName --output tsv --auth-mode login)
297283
```
298284

299285
### Deploy the template to create the VM

0 commit comments

Comments
 (0)