Skip to content

Commit 5329f6d

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into extend-ilo-timeout
2 parents 0fd0bfc + 99ffc09 commit 5329f6d

32 files changed

+515
-222
lines changed

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

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

Lines changed: 27 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
22
title: Azure Functions SignalR Service trigger binding
33
description: Learn to send SignalR Service messages from Azure Functions.
4-
author: chenyl
4+
author: Y-Sindo
55
ms.topic: reference
66
ms.devlang: csharp, javascript, python
77
ms.custom: devx-track-csharp
8-
ms.date: 11/29/2021
9-
ms.author: chenyl
8+
ms.date: 01/13/2023
9+
ms.author: zityang
1010
zone_pivot_groups: programming-languages-set-functions-lang-workers
1111
---
1212

@@ -71,13 +71,10 @@ public static async Task Run([SignalRTrigger("SignalRTest", "messages", "SendMes
7171

7272
# [Isolated process](#tab/isolated-process)
7373

74-
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.
74+
The following sample shows a C# function that receives a message event from clients and logs the message content.
7575

76-
:::code language="csharp" source="~/azure-functions-dotnet-worker/samples/Extensions/SignalR/SignalRFunction.cs" range="12-31":::
76+
:::code language="csharp" source="~/azure-functions-dotnet-worker/samples/Extensions/SignalR/SignalRTriggerFunctions.cs" id="snippet_on_message":::
7777

78-
The `MyConnectionInfo` and `MyMessage` classes are defined as follows:
79-
80-
:::code language="csharp" source="~/azure-functions-dotnet-worker/samples/Extensions/SignalR/SignalRFunction.cs" range="34-46":::
8178

8279
# [C# Script](#tab/csharp-script)
8380

@@ -116,10 +113,10 @@ public static void Run(InvocationContext invocation, string message, ILogger log
116113
::: zone-end
117114

118115
::: zone pivot="programming-language-java"
119-
SignalR trigger isn't currently supported for Java.
120-
::: zone-end
121-
122-
::: zone pivot="programming-language-javascript,programming-language-python,programming-language-powershell"
116+
SignalR trigger isn't currently supported for Java.
117+
::: zone-end
118+
119+
::: zone pivot="programming-language-javascript,programming-language-python,programming-language-powershell"
123120

124121
Here's binding data in the *function.json* file:
125122

@@ -147,12 +144,12 @@ module.exports = async function (context, invocation) {
147144
context.log(`Receive ${context.bindingData.message} from ${invocation.ConnectionId}.`)
148145
};
149146
```
150-
::: zone-end
151-
::: zone pivot="programming-language-powershell"
152-
147+
::: zone-end
148+
::: zone pivot="programming-language-powershell"
149+
153150
Complete PowerShell examples are pending.
154-
::: zone-end
155-
::: zone pivot="programming-language-python"
151+
::: zone-end
152+
::: zone pivot="programming-language-python"
156153

157154
Here's the Python code:
158155

@@ -165,8 +162,8 @@ def main(invocation) -> None:
165162
invocation_json = json.loads(invocation)
166163
logging.info("Receive {0} from {1}".format(invocation_json['Arguments'][0], invocation_json['ConnectionId']))
167164
```
168-
::: zone-end
169-
165+
::: zone-end
166+
170167
::: zone pivot="programming-language-csharp"
171168

172169
## Attributes
@@ -201,7 +198,7 @@ The following table explains the properties of the `SignalRTrigger` attribute.
201198

202199
C# script uses a function.json file for configuration instead of attributes.
203200

204-
The following table explains the binding configuration properties for C# script that you set in the *function.json* file.
201+
The following table explains the binding configuration properties for C# script that you set in the *function.json* file.
205202

206203
|function.json property |Description|
207204
|---------|-----------------------|
@@ -216,15 +213,15 @@ The following table explains the binding configuration properties for C# script
216213

217214
---
218215

219-
::: zone-end
220-
::: zone pivot="programming-language-java"
221-
216+
::: zone-end
217+
::: zone pivot="programming-language-java"
218+
222219
## Annotations
223220

224-
There isn't currently a supported Java annotation for a SignalR trigger.
225-
::: zone-end
226-
::: zone pivot="programming-language-javascript,programming-language-powershell,programming-language-python"
227-
221+
There isn't currently a supported Java annotation for a SignalR trigger.
222+
::: zone-end
223+
::: zone pivot="programming-language-javascript,programming-language-powershell,programming-language-python"
224+
228225
## Configuration
229226

230227
The following table explains the binding configuration properties that you set in the *function.json* file.
@@ -240,11 +237,11 @@ The following table explains the binding configuration properties that you set i
240237
|**parameterNames**| (Optional) A list of names that binds to the parameters. |
241238
|**connectionStringSetting**| The name of the app setting that contains the SignalR Service connection string, which defaults to `AzureSignalRConnectionString`. |
242239

243-
::: zone-end
240+
::: zone-end
244241

245242
See the [Example section](#example) for complete examples.
246243

247-
## Usage
244+
## Usage
248245

249246
### Payloads
250247

@@ -277,7 +274,7 @@ Say you have a JavaScript SignalR client trying to invoke method `broadcast` in
277274
await connection.invoke("broadcast", message1, message2);
278275
```
279276

280-
After you set `parameterNames`, the names you defined correspond to the arguments sent on the client side.
277+
After you set `parameterNames`, the names you defined correspond to the arguments sent on the client side.
281278

282279
```cs
283280
[SignalRTrigger(parameterNames: new string[] {"arg1, arg2"})]

0 commit comments

Comments
 (0)