Azure / Azure/azure-functions-java-library

CosmosDB Outputbinding does not work for multiple documents

Abierto
#109 0 comentarios 0 reacciones 0 asignados Ver en GitHub
area:java-functions
Lenguaje dominante
Java
Estrellas
45
Forks
49
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

We have a simple function which is triggered by event hub and simply forwards messages to cosmosDB using the cosmosDB output binding.
It works well if we receive and forward one message.
However it does not work when we receive and forward a list of messages using Cardinality.many.
Example:
```
public void run(
@EventHubTrigger(
name = "ConsumeDeviceMessages2",
eventHubName = "@eventhub.name@",
connection = "@iothub.connection@",
consumerGroup = CONSUMER_GROUP,
cardinality = Cardinality.MANY)
List messages,

@CosmosDBOutput(
name = "outputDocument",
databaseName = "@cosmosdb.name@",
collectionName = "@cosmosdb.collection.name@",
connectionStringSetting = "@cosmosdb.connection.appsetting@")
OutputBinding> outputDocument,

final ExecutionContext context) {
outputDocument.setValue(messages);
}
```
If this is triggered an error occurs:

`[Error] Executed 'Functions.SaveIotDeviceMessages' (Failed, Id=a845d74b-861a-40e7-a6f2-f5b7032b2cf2)Value cannot be null.Parameter name: document`

Configuration seems pretty basic and works on another function where we forward multiple messages to a queue instead.

Any idea why it is not working for cosmosDB? The documentation states its working for .NET and Javascript, no information about Java though.

Thanks and regards.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza reproduciendo la función de Java con EventHubTrigger Cardinality.MANY y CosmosDBOutput usando OutputBinding>. Traza cómo el binding de salida de CosmosDB para Java gestiona outputDocument.setValue(messages) y compara su comportamiento con el soporte documentado de .NET y JavaScript. Se considera completado cuando se haya identificado si Java admite varios documentos y se haya registrado o corregido el comportamiento resultante.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
databases
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.