Azure / Azure/azure-functions-java-library

CosmosDB Outputbinding does not work for multiple documents

Aperta
#109 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area:java-functions
Lingua principale
Java
Stelle
45
Fork
49
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia riproducendo la funzione Java con EventHubTrigger Cardinality.MANY e CosmosDB usando OutputBinding>. Traccia il modo in cui l'output binding CosmosDB per Java gestisce outputDocument.setValue(messages) e confronta il suo comportamento con il supporto documentato di .NET e JavaScript. Il lavoro è completato quando viene identificato se in Java sono supportati più documenti e il comportamento risultante viene registrato o corretto.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
databases
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.