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.