Azure / Azure/azure-functions-java-worker

Service Bus OutputBinding doesn't support ServiceBusMessage type with Metadata

Abierto
#570 2 comentarios 6 reacciones 1 asignado Reclamado por @shreyas-gopalakrishna Ver en GitHub
area:java-functions Bug needs-investigation Needs: Triage (Functions)
Lenguaje dominante
Java
Estrellas
103
Forks
74
Merge medio
4 d 8 h
PR fusionados (30 d)
2

Descripción

There doesn't appear to be equivalent functionality for setting ServiceBusMessage Metadata in the Java worker. Compare with the C# documentation: https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus-output?tabs=in-process%2Cextensionv5&pivots=programming-language-csharp#usage

> Use the [ServiceBusMessage](https://docs.microsoft.com/en-us/dotnet/api/azure.messaging.servicebus.servicebusmessage) type when sending messages with metadata. Parameters are defined as return type attributes. Use an ICollector or IAsyncCollector to write multiple messages. A message is created when you call the Add method.

Is there no equivalent in Java?

#### Repro steps

Provide the steps required to reproduce the problem:

1. Create an Azure Function.
2. Add **azure-messaging-servicebus** dependency to project.
3. Add a `@ServiceBusTopicOutput binding` of type `OutputBinding`.
4. Create a `ServiceBusMessage msg = new ServiceBusMessage("message body") `object.
5. Set some metadata via `sbMessage.getApplicationProperties().put("foo","bar")`.
6. call `.setValue(msg)` on the output binding.
7. Run the function.

#### Expected behavior

A message is added to the Service Bus topic with a body of "message body" and custom metadata of "foo": "bar".

#### Actual behavior

The resulting message body on the topic is a ServiceBusMessage serialized as a POJO object. Custom metadata is missing.

#### Known workarounds

Use a `ServiceBusSenderClient` instead of output bindings.

#### Related information

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.