Ist es möglich anzugeben, dass DocumentDB Auslöser beim Schreiben in DocumentDB auslöst?Azure-Funktionen und DocumentDB-Trigger
Ich habe eine Azure-Funktion, die JSON-Nachrichten aus einem Service Bus Queue zieht und setzt sie in DocumentDB wie so:
using System;
using System.Threading.Tasks;
public static string Run(string myQueueItem, TraceWriter log)
{
log.Info($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
return myQueueItem;
}
Dies fügt neue Dokumente in die Datenbank, wie sie an den Servicebus Warteschlange hinzugefügt werden, Ich benötige jedoch DocumentDB, um diese zu verarbeiten, wenn sie hinzugefügt werden, und Anhänge hinzuzufügen. Dies kann im vorliegenden Setup nicht durchgeführt werden und ich möchte DocumentDB anweisen, einen Trigger auszulösen.
ich so etwas wie dies versucht haben:
using System;
using System.Threading.Tasks;
public static string Run(string myQueueItem, TraceWriter log)
{
log.Info($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
return "x-ms-documentdb-post-trigger-include: addDocument\n" + myQueueItem;
}
Es funktioniert nicht und gibt mir Fehler wie folgt aus:
Ausnahme beim Funktion ausführt: Functions.ServiceBusQueueTriggerCSharp1. Microsoft.Azure.WebJobs.Host: Fehler bei der Verarbeitung des Parameters _return after function returned :. Newtonsoft.Json: Beim Parsen des Werts wurde ein unerwartetes Zeichen festgestellt: x. Pfad ‚‘, Zeile 0, Position 0.
Ich mag diese Einstellung, weil ich die Warteschlange mit Anfragen sättigen können Datensätze hinzufügen und sie puffern nur, bis die Datenbank damit umgehen können, die mit Nachfragespitzen beschäftigt, aber es erlaubt das Daten-Offloading vom Client-Rechner so schnell wie das Netzwerk es transportieren kann und dann wird die Warteschlange/Datenbank-Kombination eingeholt, wenn die Nachfrage wieder abfällt.