Skip to content

Commit cc5702a

Browse files
Merge pull request #290819 from jsquire/patch-3
[Functions] Clarify isolated worker Service Bus output binding limitations
2 parents c256a6b + 24ace7b commit cc5702a

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

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

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ public String pushToQueue(
129129
}
130130
```
131131

132-
In the [Java functions runtime library](/java/api/overview/azure/functions/runtime), use the `@QueueOutput` annotation on function parameters whose value would be written to a Service Bus queue. The parameter type should be `OutputBinding<T>`, where `T` is any native Java type of a POJO.
132+
In the [Java functions runtime library](/java/api/overview/azure/functions/runtime), use the `@QueueOutput` annotation on function parameters whose value would be written to a Service Bus queue. The parameter type should be `OutputBinding<T>`, where `T` is any native Java type of a plan old Java object (POJO).
133133

134134
Java functions can also write to a Service Bus topic. The following example uses the `@ServiceBusTopicOutput` annotation to describe the configuration for the output binding.
135135

@@ -163,7 +163,7 @@ To output multiple messages, return an array instead of a single object. For exa
163163

164164
# [Model v3](#tab/nodejs-v3)
165165

166-
TypeScript samples are not documented for model v3.
166+
TypeScript samples aren't documented for model v3.
167167

168168
---
169169

@@ -365,10 +365,10 @@ The following table explains the properties you can set using the attribute:
365365

366366
| Property |Description|
367367
| --- | --- |
368-
|**QueueName**|Name of the queue. Set only if sending queue messages, not for a topic. |
368+
|**QueueName**|Name of the queue. Set only if sending queue messages, not for a topic. |
369369
|**TopicName**|Name of the topic. Set only if sending topic messages, not for a queue.|
370370
|**Connection**|The name of an app setting or setting collection that specifies how to connect to Service Bus. See [Connections](#connections).|
371-
|**Access**|Access rights for the connection string. Available values are `manage` and `listen`. The default is `manage`, which indicates that the `connection` has the **Manage** permission. If you use a connection string that does not have the **Manage** permission, set `accessRights` to "listen". Otherwise, the Functions runtime might fail trying to do operations that require manage rights. In Azure Functions version 2.x and higher, this property is not available because the latest version of the Service Bus SDK doesn't support manage operations.|
371+
|**Access**|Access rights for the connection string. Available values are `manage` and `listen`. The default is `manage`, which indicates that the `connection` has the **Manage** permission. If you use a connection string that doesn't have the **Manage** permission, set `accessRights` to "listen". Otherwise, the Functions runtime might fail trying to do operations that require manage rights. In Azure Functions version 2.x and higher, this property isn't available because the latest version of the Service Bus SDK doesn't support manage operations.|
372372

373373
Here's an example that shows the attribute applied to the return value of the function:
374374

@@ -394,7 +394,7 @@ public static string Run([HttpTrigger] dynamic input, ILogger log)
394394

395395
For a complete example, see [Example](#example).
396396

397-
You can use the `ServiceBusAccount` attribute to specify the Service Bus account to use at class, method, or parameter level. For more information, see [Attributes](functions-bindings-service-bus-trigger.md#attributes) in the trigger reference.
397+
You can use the `ServiceBusAccount` attribute to specify the Service Bus account to use at class, method, or parameter level. For more information, see [Attributes](functions-bindings-service-bus-trigger.md#attributes) in the trigger reference.
398398

399399
---
400400

@@ -410,7 +410,7 @@ For Python v2 functions defined using a decorator, the following properties on t
410410
| Property | Description |
411411
|-------------|-----------------------------|
412412
| `arg_name` | The name of the variable that represents the queue or topic message in function code. |
413-
| `queue_name` | Name of the queue. Set only if sending queue messages, not for a topic. |
413+
| `queue_name` | Name of the queue. Set only if sending queue messages, not for a topic. |
414414
| `topic_name` | Name of the topic. Set only if sending topic messages, not for a queue. |
415415
| `connection` | The name of an app setting or setting collection that specifies how to connect to Service Bus. See [Connections](#connections). |
416416

@@ -457,10 +457,10 @@ The following table explains the binding configuration properties that you set i
457457

458458
| Property | Description |
459459
|---------|------------------------|
460-
|**type** |Must be set to "serviceBus". This property is set automatically when you create the trigger in the Azure portal.|
461-
|**direction** | Must be set to "out". This property is set automatically when you create the trigger in the Azure portal. |
460+
|**type** |Must be set to `serviceBus`. This property is set automatically when you create the trigger in the Azure portal.|
461+
|**direction** | Must be set to `out`. This property is set automatically when you create the trigger in the Azure portal. |
462462
|**name** | The name of the variable that represents the queue or topic message in function code. Set to "$return" to reference the function return value. |
463-
|**queueName**|Name of the queue. Set only if sending queue messages, not for a topic.|
463+
|**queueName**|Name of the queue. Set only if sending queue messages, not for a topic.|
464464
|**topicName**|Name of the topic. Set only if sending topic messages, not for a queue.|
465465
|**connection**|The name of an app setting or setting collection that specifies how to connect to Service Bus. See [Connections](#connections).|
466466

@@ -475,13 +475,13 @@ The following table explains the binding configuration properties that you set i
475475

476476
|function.json property | Description|
477477
|---------|------------------------|
478-
|**type** |Must be set to "serviceBus". This property is set automatically when you create the trigger in the Azure portal.|
479-
|**direction** | Must be set to "out". This property is set automatically when you create the trigger in the Azure portal. |
478+
|**type** |Must be set to `serviceBus`. This property is set automatically when you create the trigger in the Azure portal.|
479+
|**direction** | Must be set to `out`. This property is set automatically when you create the trigger in the Azure portal. |
480480
|**name** | The name of the variable that represents the queue or topic message in function code. Set to "$return" to reference the function return value. |
481-
|**queueName**|Name of the queue. Set only if sending queue messages, not for a topic.|
481+
|**queueName**|Name of the queue. Set only if sending queue messages, not for a topic.|
482482
|**topicName**|Name of the topic. Set only if sending topic messages, not for a queue.|
483483
|**connection**|The name of an app setting or setting collection that specifies how to connect to Service Bus. See [Connections](#connections).|
484-
|**accessRights** (v1 only)|Access rights for the connection string. Available values are `manage` and `listen`. The default is `manage`, which indicates that the `connection` has the **Manage** permission. If you use a connection string that does not have the **Manage** permission, set `accessRights` to "listen". Otherwise, the Functions runtime might fail trying to do operations that require manage rights. In Azure Functions version 2.x and higher, this property is not available because the latest version of the Service Bus SDK doesn't support manage operations.|
484+
|**accessRights** (v1 only)|Access rights for the connection string. Available values are `manage` and `listen`. The default is `manage`, which indicates that the `connection` has the **Manage** permission. If you use a connection string that doesn't have the **Manage** permission, set `accessRights` to "listen". Otherwise, the Functions runtime might fail trying to do operations that require manage rights. In Azure Functions version 2.x and higher, this property isn't available because the latest version of the Service Bus SDK doesn't support manage operations.|
485485

486486
[!INCLUDE [app settings to local.settings.json](../../includes/functions-app-settings-local.md)]
487487

@@ -493,15 +493,15 @@ See the [Example section](#example) for complete examples.
493493

494494
::: zone pivot="programming-language-csharp"
495495

496-
The following output parameter types are supported by all C# modalities and extension versions:
496+
All C# modalities and extension versions support the following output parameter types:
497497

498498
| Type | Description |
499499
| --- | --- |
500500
| **[System.String](/dotnet/api/system.string)** | Use when the message to write is simple text. When the parameter value is null when the function exits, Functions doesn't create a message.|
501501
| **byte[]** | Use for writing binary data messages. When the parameter value is null when the function exits, Functions doesn't create a message. |
502502
| **Object** | When a message contains JSON, Functions serializes the object into a JSON message payload. When the parameter value is null when the function exits, Functions creates a message with a null object.|
503503

504-
Messaging-specific parameter types contain additional message metadata. The specific types supported by the output binding depend on the Functions runtime version, the extension package version, and the C# modality used.
504+
Messaging-specific parameter types contain extra message metadata and aren't compatible with JSON serialization. As a result, it isn't possible to use `ServiceBusMesage` with the output binding in the isolated model. The specific types supported by the output binding depend on the Functions runtime version, the extension package version, and the C# modality used.
505505

506506
# [Extension v5.x](#tab/extensionv5/in-process)
507507

@@ -533,7 +533,7 @@ Use the [BrokeredMessage](/dotnet/api/microsoft.servicebus.messaging.brokeredmes
533533

534534
# [Functions 2.x and higher](#tab/functionsv2/isolated-process)
535535

536-
Earlier versions of this extension in the isolated worker process only support binding to messaging-specific types. Additional options are available to **Extension 5.x and higher**
536+
Earlier versions of this extension in the isolated worker process only support binding to messaging-specific types. More options are available to **Extension 5.x and higher**
537537

538538
# [Functions 1.x](#tab/functionsv1/isolated-process)
539539

0 commit comments

Comments
 (0)