Die Büros ändern ihre Termine ständig: Eine Person verlängert, die Zentrale ergänzt Notizen, zwei Geräte schicken denselben Termin, weil das Netz hakte. Diese Lektion zeigt, wie Kladde.Verlauf in appointments schreibt, ohne etwas zu verlieren oder zu verdoppeln.

Nicht gegen Azure ausgeführt. Der Code wurde mit Microsoft.Azure.Cosmos 3.64.0 und Newtonsoft.Json 13.0.4 übersetzt. Gelaufen ist nur die Schleife für gleichzeitige Änderungen gegen eine Attrappe (Übung 1). Was über Statuscodes, Patch und TTL des Dienstes gesagt wird, stammt aus Microsoft Learn, gelesen am Tag des Schreibens.

Die vier Schreibvorgänge

Vorgang Wirkung Typischer Fehler
CreateItemAsync legt an 409, wenn id und Schlüssel schon vergeben sind
UpsertItemAsync legt an oder ersetzt –
ReplaceItemAsync ersetzt das ganze Element 404, wenn es fehlt; 412 bei falschem ETag
DeleteItemAsync löscht 404, wenn es schon weg ist

Replace und Upsert schreiben immer das ganze Element. Laut Learn steigen die RU eines Schreibvorgangs mit der Größe des Elements, mit der Zahl seiner Eigenschaften und mit der Zahl der indexierten Pfade (Lektion 2.4). Der Status 413 kommt, wenn das Element größer als 2 MB wäre (K3, Lektion 3.6.4); er wird nie wiederholt.