Skip to content

Commit 89848c2

Browse files
authored
Merge pull request #224033 from MicrosoftDocs/main
Publish to live, Monday 4 AM PST, 1/16
2 parents e8ddf93 + 1c5095e commit 89848c2

File tree

56 files changed

+1427
-426
lines changed

Some content is hidden

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

56 files changed

+1427
-426
lines changed

.openpublishing.redirection.azure-productivity.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,11 @@
8484
"source_path": "articles/lab-services/how-to-manage-vm-pool-within-canvas.md",
8585
"redirect_url": "/azure/lab-services/how-to-manage-labs-within-canvas",
8686
"redirect_document_id": false
87+
},
88+
{
89+
"source_path": "articles/lab-services/how-to-enable-nested-virtualization-template-vm.md",
90+
"redirect_url": "/azure/lab-services/concept-nested-virtualization-template-vm",
91+
"redirect_document_id": true
8792
}
8893
]
8994
}
25.8 KB
Loading
-1.07 KB
Loading
1.45 KB
Loading
6.49 KB
Loading

articles/active-directory/external-identities/self-service-sign-up-user-flow.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: active-directory
55
ms.service: active-directory
66
ms.subservice: B2B
77
ms.topic: how-to
8-
ms.date: 01/06/2023
8+
ms.date: 01/16/2023
99

1010
ms.author: mimart
1111
author: msmimart
@@ -52,7 +52,8 @@ Before you can add a self-service sign-up user flow to your applications, you ne
5252
1. Select **User settings**, and then under **External users**, select **Manage external collaboration settings**.
5353
1. Set the **Enable guest self-service sign up via user flows** toggle to **Yes**.
5454

55-
![Enable guest self-service sign-up](media/self-service-sign-up-user-flow/enable-self-service-sign-up.png)
55+
:::image type="content" source="media/self-service-sign-up-user-flow/enable-self-service-sign-up.png" alt-text="Screenshot of the enable guest self-service sign up toggle.":::
56+
5657
5. Select **Save**.
5758
## Create the user flow for self-service sign-up
5859

@@ -63,17 +64,17 @@ Next, you'll create the user flow for self-service sign-up and add it to an appl
6364
3. In the left menu, select **External Identities**.
6465
4. Select **User flows**, and then select **New user flow**.
6566

66-
![Add a new user flow button](media/self-service-sign-up-user-flow/new-user-flow.png)
67+
:::image type="content" source="media/self-service-sign-up-user-flow/new-user-flow.png" alt-text="Screenshot of the new user flow button.":::
6768

6869
5. Select the user flow type (for example, **Sign up and sign in**), and then select the version (**Recommended** or **Preview**).
69-
6. On the **Create** page, enter a **Name** for the user flow. Note that the name is automatically prefixed with **B2X_1_**.
70+
6. On the **Create** page, enter a **Name** for the user flow. The name is automatically prefixed with **B2X_1_**.
7071
7. In the **Identity providers** list, select one or more identity providers that your external users can use to log into your application. **Azure Active Directory Sign up** is selected by default. (See [Before you begin](#before-you-begin) earlier in this article to learn how to add identity providers.)
71-
8. Under **User attributes**, choose the attributes you want to collect from the user. For additional attributes, select **Show more**. For example, select **Show more**, and then choose attributes and claims for **Country/Region**, **Display Name**, and **Postal Code**. Select **OK**.
72+
8. Under **User attributes**, choose the attributes you want to collect from the user. For more attributes, select **Show more**. For example, select **Show more**, and then choose attributes and claims for **Country/Region**, **Display Name**, and **Postal Code**. Select **OK**.
7273

73-
![Create a new user flow page](media/self-service-sign-up-user-flow/create-user-flow.png)
74+
:::image type="content" source="media/self-service-sign-up-user-flow/create-user-flow.png" alt-text="Screenshot of the new user flow creation page. ":::
7475

75-
> [!NOTE]
76-
> You can only collect attributes when a user signs up for the first time. After a user signs up, they will no longer be prompted to collect attribute information, even if you change the user flow.
76+
> [!NOTE]
77+
> You can only collect attributes when a user signs up for the first time. After a user signs up, they will no longer be prompted to collect attribute information, even if you change the user flow.
7778
7879
8. Select **Create**.
7980
9. The new user flow appears in the **User flows** list. If necessary, refresh the page.
@@ -86,7 +87,7 @@ You can choose order in which the attributes are displayed on the sign-up page.
8687
2. Select **External Identities**, select **User flows**.
8788
3. Select the self-service sign-up user flow from the list.
8889
4. Under **Customize**, select **Page layouts**.
89-
5. The attributes you chose to collect are listed. To change the order of display, select an attribute, and then select **Move up**, **Move down**, **Move to the top**, or **Move to the bottom**.
90+
5. The attributes you chose to collect are listed. To change the order of display, select an attribute, and then select **Move up**, **Move down**, **Move to top**, or **Move to bottom**.
9091
6. Select **Save**.
9192

9293
## Add applications to the self-service sign-up user flow
@@ -101,7 +102,7 @@ Now you'll associate applications with the user flow to enable sign-up for those
101102
6. In the left menu, under **Use**, select **Applications**.
102103
7. Select **Add application**.
103104

104-
![Assign an application to the user flow](media/self-service-sign-up-user-flow/assign-app-to-user-flow.png)
105+
:::image type="content" source="media/self-service-sign-up-user-flow/assign-app-to-user-flow.png" alt-text="Screenshot of adding an application to the user flow.":::
105106

106107
8. Select the application from the list. Or use the search box to find the application, and then select it.
107108
9. Click **Select**.
@@ -112,4 +113,3 @@ Now you'll associate applications with the user flow to enable sign-up for those
112113
- [Add Facebook to your list of social identity providers](facebook-federation.md)
113114
- [Use API connectors to customize and extend your user flows via web APIs](api-connectors-overview.md)
114115
- [Add custom approval workflow to your user flow](self-service-sign-up-add-approvals.md)
115-
- [Learn more about initiating an OAuth 2.0 authorization code flow](../develop/v2-oauth2-auth-code-flow.md#request-an-authorization-code)

articles/automation/automation-solution-vm-management.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ ms.custom: devx-track-azurepowershell, engagement-fy23
1111
# Start/Stop VMs during off-hours overview
1212

1313
> [!NOTE]
14-
> Start/Stop VM during off-hours, version 1 is going to retire soon by CY23 and is unavailable in the marketplace now. We recommend that you start using [version 2](/articles/azure-functions/start-stop-vms/overview.md), which is now generally available. The new version offers all existing capabilities and provides new features, such as multi-subscription support from a single Start/Stop instance. If you have the version 1 solution already deployed, you can still use the feature, and we will provide support until retirement in CY23. The details on announcement will be shared soon.
14+
> Start/Stop VM during off-hours, version 1 is going to retire soon by CY23 and is unavailable in the marketplace now. We recommend that you start using [version 2](https://learn.microsoft.com/azure/azure-functions/start-stop-vms/overview), which is now generally available. The new version offers all existing capabilities and provides new features, such as multi-subscription support from a single Start/Stop instance. If you have the version 1 solution already deployed, you can still use the feature, and we will provide support until retirement in CY23. The details on announcement will be shared soon.
1515
1616
The Start/Stop VMs during off-hours feature start or stops enabled Azure VMs. It starts or stops machines on user-defined schedules, provides insights through Azure Monitor logs, and sends optional emails by using [action groups](../azure-monitor/alerts/action-groups.md). The feature can be enabled on both Azure Resource Manager and classic VMs for most scenarios.
1717

articles/azure-arc/kubernetes/validation-program.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ The following providers and their corresponding Kubernetes distributions have su
2828
| Canonical | [Charmed Kubernetes](https://ubuntu.com/kubernetes) | [1.24](https://ubuntu.com/kubernetes/docs/1.24/components) |
2929
| SUSE Rancher | [Rancher Kubernetes Engine](https://rancher.com/products/rke/) | RKE CLI version: [v1.3.13](https://github.com/rancher/rke/releases/tag/v1.3.13); Kubernetes versions: 1.24.2, 1.23.8 |
3030
| Nutanix | [Nutanix Kubernetes Engine](https://www.nutanix.com/products/kubernetes-engine) | Version [2.5](https://portal.nutanix.com/page/documents/details?targetId=Nutanix-Kubernetes-Engine-v2_5:Nutanix-Kubernetes-Engine-v2_5); upstream K8s v1.23.11 |
31-
| Platform9 | [Platform9 Managed Kubernetes (PMK)](https://platform9.com/managed-kubernetes/) | PMK Version [5.3.0](https://platform9.com/docs/kubernetes/release-notes#platform9-managed-kubernetes-version-53-release-notes); Kubernetes versions: v1.20.5, v1.19.6, v1.18.10 |
3231
| Kublr | [Kublr Managed K8s](https://kublr.com/managed-kubernetes/) Distribution | Upstream K8s Version: 1.22.10 <br> Upstream K8s Version: 1.21.3 |
3332
| Mirantis | [Mirantis Kubernetes Engine](https://www.mirantis.com/software/mirantis-kubernetes-engine/) | MKE Version [3.6.0](https://docs.mirantis.com/mke/3.6/release-notes/3-6-0.html) <br> MKE Version [3.5.5](https://docs.mirantis.com/mke/3.5/release-notes/3-5-5.html) <br> MKE Version [3.4.7](https://docs.mirantis.com/mke/3.4/release-notes/3-4-7.html) |
3433
| Wind River | [Wind River Cloud Platform](https://www.windriver.com/studio/operator/cloud-platform) | Wind River Cloud Platform 22.06; Upstream K8s version: 1.23.1 <br>Wind River Cloud Platform 21.12; Upstream K8s version: 1.21.8 <br>Wind River Cloud Platform 21.05; Upstream K8s version: 1.18.1 |

articles/azure-functions/functions-bindings-signalr-service-input.md

Lines changed: 52 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
---
22
title: Azure Functions SignalR Service input binding
33
description: Learn to return a SignalR service endpoint URL and access token in Azure Functions.
4+
author: Y-Sindo
45
ms.topic: reference
56
ms.devlang: csharp, java, javascript, python
67
ms.custom: devx-track-csharp
7-
ms.date: 03/04/2022
8+
ms.date: 01/13/2022
9+
ms.author: zityang
810
zone_pivot_groups: programming-languages-set-functions-lang-workers
911
---
1012

@@ -38,13 +40,9 @@ public static SignalRConnectionInfo Negotiate(
3840

3941
# [Isolated process](#tab/isolated-process)
4042

41-
The following example shows a SignalR trigger that reads a message string from one hub using a SignalR trigger and writes it to a second hub using an output binding. The data required to connect to the output binding is obtained as a `MyConnectionInfo` object from an input binding defined using a `SignalRConnectionInfo` attribute.
43+
The following example shows a SignalR trigger that reads a message string from one hub using a SignalR trigger and writes it to a second hub using an output binding. The data required to connect to the output binding is obtained as a `MyConnectionInfo` object from an input binding defined using a `SignalRConnectionInfo` attribute.
4244

43-
:::code language="csharp" source="~/azure-functions-dotnet-worker/samples/Extensions/SignalR/SignalRFunction.cs" range="12-31":::
44-
45-
The `MyConnectionInfo` and `MyMessage` classes are defined as follows:
46-
47-
:::code language="csharp" source="~/azure-functions-dotnet-worker/samples/Extensions/SignalR/SignalRFunction.cs" range="34-46":::
45+
:::code language="csharp" source="~/azure-functions-dotnet-worker/samples/Extensions/SignalR/SignalRNegotiationFunctions.cs" id="snippet_negotiate":::
4846

4947
# [C# Script](#tab/csharp-script)
5048

@@ -77,8 +75,8 @@ public static SignalRConnectionInfo Run(HttpRequest req, SignalRConnectionInfo c
7775
```
7876

7977
---
80-
::: zone-end
81-
::: zone pivot="programming-language-javascript,programming-language-python,programming-language-powershell"
78+
::: zone-end
79+
::: zone pivot="programming-language-javascript,programming-language-python,programming-language-powershell"
8280

8381
The following example shows a SignalR connection info input binding in a *function.json* file and a function that uses the binding to return the connection information.
8482

@@ -105,12 +103,12 @@ module.exports = async function (context, req, connectionInfo) {
105103
};
106104
```
107105

108-
::: zone-end
109-
::: zone pivot="programming-language-powershell"
110-
106+
::: zone-end
107+
::: zone pivot="programming-language-powershell"
108+
111109
Complete PowerShell examples are pending.
112-
::: zone-end
113-
::: zone pivot="programming-language-python"
110+
::: zone-end
111+
::: zone pivot="programming-language-python"
114112

115113
The following example shows a SignalR connection info input binding in a *function.json* file and a [Python function](functions-reference-python.md) that uses the binding to return the connection information.
116114

@@ -127,7 +125,7 @@ def main(req: func.HttpRequest, connectionInfoJson: str) -> func.HttpResponse:
127125
)
128126
```
129127

130-
::: zone-end
128+
::: zone-end
131129
::: zone pivot="programming-language-java"
132130

133131
The following example shows a [Java function](functions-reference-java.md) that acquires SignalR connection information using the input binding and returns it over HTTP.
@@ -146,7 +144,7 @@ public SignalRConnectionInfo negotiate(
146144
}
147145
```
148146

149-
:::zone-end
147+
:::zone-end
150148

151149
## Usage
152150

@@ -165,7 +163,7 @@ You can set the `UserId` property of the binding to the value from either header
165163
```cs
166164
[FunctionName("negotiate")]
167165
public static SignalRConnectionInfo Negotiate(
168-
[HttpTrigger(AuthorizationLevel.Anonymous)]HttpRequest req,
166+
[HttpTrigger(AuthorizationLevel.Anonymous)]HttpRequest req,
169167
[SignalRConnectionInfo
170168
(HubName = "chat", UserId = "{headers.x-ms-client-principal-id}")]
171169
SignalRConnectionInfo connectionInfo)
@@ -177,7 +175,15 @@ public static SignalRConnectionInfo Negotiate(
177175

178176
# [Isolated process](#tab/isolated-process)
179177

180-
Sample code not available for the isolated worker process.
178+
```cs
179+
[Function("Negotiate")]
180+
public static string Negotiate([HttpTrigger(AuthorizationLevel.Anonymous)] HttpRequestData req,
181+
[SignalRConnectionInfoInput(HubName = "serverless", UserId = "{headers.x-ms-client-principal-id}")] string connectionInfo)
182+
{
183+
// The serialization of the connection info object is done by the framework. It should be camel case. The SignalR client respects the camel case response only.
184+
return connectionInfo;
185+
}
186+
```
181187

182188
# [C# Script](#tab/csharp-script)
183189

@@ -214,10 +220,21 @@ public static SignalRConnectionInfo Run(HttpRequest req, SignalRConnectionInfo c
214220
::: zone-end
215221

216222
::: zone pivot="programming-language-java"
217-
SignalR trigger isn't currently supported for Java.
218-
::: zone-end
219-
220-
::: zone pivot="programming-language-javascript,programming-language-python,programming-language-powershell"
223+
```java
224+
@FunctionName("negotiate")
225+
public SignalRConnectionInfo negotiate(
226+
@HttpTrigger(
227+
name = "req",
228+
methods = { HttpMethod.POST, HttpMethod.GET },
229+
authLevel = AuthorizationLevel.ANONYMOUS)
230+
HttpRequestMessage<Optional<String>> req,
231+
@SignalRConnectionInfoInput(name = "connectionInfo", hubName = "simplechat", userId = "{headers.x-ms-signalr-userid}") SignalRConnectionInfo connectionInfo) {
232+
return connectionInfo;
233+
}
234+
```
235+
::: zone-end
236+
237+
::: zone pivot="programming-language-javascript,programming-language-python,programming-language-powershell"
221238

222239
You can set the `userId` property of the binding to the value from either header using a [binding expression](./functions-bindings-expressions-patterns.md): `{headers.x-ms-client-principal-id}` or `{headers.x-ms-client-principal-name}`.
223240

@@ -235,7 +252,7 @@ Here's binding data in the *function.json* file:
235252
```
236253

237254
::: zone-end
238-
::: zone pivot="programming-language-javascript"
255+
::: zone pivot="programming-language-javascript"
239256
Here's the JavaScript code:
240257

241258
```javascript
@@ -246,12 +263,12 @@ module.exports = async function (context, req, connectionInfo) {
246263
};
247264
```
248265

249-
::: zone-end
250-
::: zone pivot="programming-language-powershell"
251-
266+
::: zone-end
267+
::: zone pivot="programming-language-powershell"
268+
252269
Complete PowerShell examples are pending.
253-
::: zone-end
254-
::: zone pivot="programming-language-python"
270+
::: zone-end
271+
::: zone pivot="programming-language-python"
255272

256273
Here's the Python code:
257274

@@ -268,7 +285,7 @@ def main(req: func.HttpRequest, connectionInfo: str) -> func.HttpResponse:
268285
)
269286
```
270287

271-
::: zone-end
288+
::: zone-end
272289
::: zone pivot="programming-language-java"
273290

274291
You can set the `userId` property of the binding to the value from either header using a [binding expression](./functions-bindings-expressions-patterns.md): `{headers.x-ms-client-principal-id}` or `{headers.x-ms-client-principal-name}`.
@@ -330,9 +347,9 @@ The following table explains the binding configuration properties that you set i
330347

331348
---
332349

333-
::: zone-end
334-
::: zone pivot="programming-language-java"
335-
350+
::: zone-end
351+
::: zone pivot="programming-language-java"
352+
336353
## Annotations
337354

338355
The following table explains the supported settings for the `SignalRConnectionInfoInput` annotation.
@@ -344,8 +361,8 @@ The following table explains the supported settings for the `SignalRConnectionIn
344361
|**userId**| Optional: The value of the user identifier claim to be set in the access key token. |
345362
|**connectionStringSetting**| The name of the app setting that contains the SignalR Service connection string, which defaults to `AzureSignalRConnectionString`. |
346363

347-
::: zone-end
348-
::: zone pivot="programming-language-javascript,programming-language-powershell,programming-language-python"
364+
::: zone-end
365+
::: zone pivot="programming-language-javascript,programming-language-powershell,programming-language-python"
349366
## Configuration
350367

351368
The following table explains the binding configuration properties that you set in the *function.json* file.
@@ -364,4 +381,4 @@ The following table explains the binding configuration properties that you set i
364381
## Next steps
365382

366383
- [Handle messages from SignalR Service (Trigger binding)](./functions-bindings-signalr-service-trigger.md)
367-
- [Send SignalR Service messages (Output binding)](./functions-bindings-signalr-service-output.md)
384+
- [Send SignalR Service messages (Output binding)](./functions-bindings-signalr-service-output.md)

articles/azure-functions/functions-bindings-signalr-service-output.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
---
22
title: Azure Functions SignalR Service output binding
33
description: Learn about the SignalR Service output binding for Azure Functions.
4+
author: Y-Sindo
45
ms.topic: reference
56
ms.devlang: csharp, java, javascript, python
67
ms.custom: devx-track-csharp
7-
ms.date: 03/04/2022
8+
ms.date: 01/13/2023
9+
ms.author: zityang
810
zone_pivot_groups: programming-languages-set-functions-lang-workers
911
---
1012

@@ -50,7 +52,7 @@ public static Task SendMessage(
5052

5153
The following example shows a function that sends a message using the output binding to all connected clients. The *newMessage* is the name of the method to be invoked on each client.
5254

53-
:::code language="csharp" source="~/azure-functions-dotnet-worker/samples/Extensions/SignalR/SignalROutputBindingFunctions.cs" range="13-24":::
55+
:::code language="csharp" source="~/azure-functions-dotnet-worker/samples/Extensions/SignalR/SignalROutputBindingFunctions2.cs" id="snippet_broadcast_to_all":::
5456

5557
# [C# Script](#tab/csharp-script)
5658

@@ -189,7 +191,7 @@ public static Task SendMessage(
189191

190192
# [Isolated process](#tab/isolated-process)
191193

192-
:::code language="csharp" source="~/azure-functions-dotnet-worker/samples/Extensions/SignalR/SignalROutputBindingFunctions.cs" range="39-50":::
194+
:::code language="csharp" source="~/azure-functions-dotnet-worker/samples/Extensions/SignalR/SignalROutputBindingFunctions2.cs" id="snippet_send_to_user":::
193195

194196
# [C# Script](#tab/csharp-script)
195197

@@ -331,7 +333,7 @@ public static Task SendMessage(
331333
```
332334
# [Isolated process](#tab/isolated-process)
333335

334-
:::code language="csharp" source="~/azure-functions-dotnet-worker/samples/Extensions/SignalR/SignalROutputBindingFunctions.cs" range="52-63":::
336+
:::code language="csharp" source="~/azure-functions-dotnet-worker/samples/Extensions/SignalR/SignalROutputBindingFunctions2.cs" id="snippet_send_to_group":::
335337

336338
# [C# Script](#tab/csharp-script)
337339

@@ -478,9 +480,9 @@ public static Task AddToGroup(
478480

479481
# [Isolated process](#tab/isolated-process)
480482

481-
Specify `SignalRGroupActionType` to add or remove a member. The following example adds a user to a group.
483+
Specify `SignalRGroupActionType` to add or remove a member. The following example removes a user from a group.
482484

483-
:::code language="csharp" source="~/azure-functions-dotnet-worker/samples/Extensions/SignalR/SignalROutputBindingFunctions.cs" range="80-89":::
485+
:::code language="csharp" source="~/azure-functions-dotnet-worker/samples/Extensions/SignalR/SignalROutputBindingFunctions2.cs" id="snippet_remove_from_group":::
484486

485487
# [C# Script](#tab/csharp-script)
486488

0 commit comments

Comments
 (0)