Möglichkeiten, Raw JSON über C# SDK für Cosmos in Patch -API zu übergeben
Posted: 20 Mar 2025, 13:01
Ich mache einen Cosmos -Abfrage -Validator, in dem der Benutzer den Pfad JSON wie diesen < /p>
bereitstellt
bereitstellt
Code: Select all
[
{ "op": "replace", "path": "/sprints/0/distributions/0/taskData", "value": null },
{ "op": "replace", "path": "/sprints/0/distributions/0/updatedTimeStamp", "value": 0 }
]
< /code>
Ich möchte dies auf COSMOS ausführen, aber [url=viewtopic.php?t=14917]ich möchte[/url] .NET SDK und dann die REST -API verwenden, da die DOTNET -API Filterpredicate für zusätzliche Steuerung bietet. Welche REST -API fehlt. Ich habe auch versucht, JSON -Objekte in Switch -Anweisungen umzuwandeln, um SDK zu verwenden.
Hier ist der Code dafür < /p>
static List
ConvertJsonToPatchOperations(string json)
{
var patchList = JsonSerializer.Deserialize(json);
var patchOperations = new List();
foreach (var patch in patchList)
{
switch (patch.Op.ToLower())
{
case "replace":
patchOperations.Add(PatchOperation.Replace(patch.Path, patch.Value));
break;
case "add":
patchOperations.Add(PatchOperation.Add(patch.Path, patch.Value));
break;
case "remove":
patchOperations.Add(PatchOperation.Remove(patch.Path));
break;
default:
throw new InvalidOperationException($"Unsupported operation: {patch.Op}");
}
}
return patchOperations;
}
< /code>
Gibt es einen besseren Weg als diese 2? [url=viewtopic.php?t=14917]Ich möchte[/url] SDK wirklich für die Funktion
verwendenPatchItemRequestOptions options = new() { FilterPredicate = "FROM products p WHERE p.used = false" };