Überprüfen gebräuchlicher Antwortcodes
Die häufigsten Anforderungsvorgänge, die Azure Cosmos DB for NoSQL verwenden, betreffen das Erstellen, Abfragen oder Verwalten von Containerdokumenten. Jede Anforderung gibt einen HTTP-Statuscode für den Status des Vorgangs zurück. Dieser Code kann uns mitteilen, ob der Vorgang erfolgreich war. Der Code kann Ihnen auch mitteilen, dass die Anforderung nicht erfolgreich war, und Informationen dazu liefern, was möglicherweise schiefgegangen ist. In diesem Abschnitt werden einige der gängigsten HTTP-Statuscodes überprüft, die von den folgenden Anforderungstypen zurückgegeben werden:
- Erstellen eines Dokuments
- Auflisten von Dokumenten
- Abrufen eines Dokuments
- Ersetzen eines Dokuments
- Patchen eines Dokuments
- Löschen eines Dokuments
- Abfragen von Dokumenten
Gebräuchliche Statuscodes für alle möglichen Vorgänge
Obwohl einige Statuscodes wie 400, 403 und 404 von verschiedenen Vorgangstypen verwendet werden, variiert ihre Beschreibung geringfügig, sodass sie in dieser Tabelle nicht aufgeführt werden.
Statuscode | Name | Operation Type | Beschreibung |
---|---|---|---|
200 | OK | List, Get, Replace, Patch, Query | Der Vorgang wurde durchgeführt. |
Erstellen eines Dokuments
Der Vorgang „Create Document“ erstellt ein neues Dokument in einer Auflistung. Die zugehörigen Statuscodes sind:
Statuscode | Operation Type | Beschreibung |
---|---|---|
201 | Erstellt | Der Vorgang wurde durchgeführt. |
400 | Ungültige Anforderung | Der JSON-Text ist ungültig. |
403 | Verboten | Der Vorgang konnte nicht abgeschlossen werden, da das Speicherlimit der Partition erreicht wurde. |
409 | Konflikt: | Die für das neue Dokument bereitgestellte id wurde von einem vorhandenen Dokument übernommen. |
413 | Entität zu groß | Die Dokumentgröße in der Anforderung hat die zulässige Dokumentgröße überschritten. |
Auflisten von Dokumenten in der Auflistung mit ReadFeed
ReadFeed kann verwendet werden, um alle Dokumente oder nur die inkrementellen Änderungen an Dokumenten innerhalb der Auflistung abzurufen. Die zugehörigen Statuscodes sind:
Statuscode | Operation Type | Beschreibung |
---|---|---|
400 | Ungültige Anforderung | Die in "x-ms-consistency-level" festgelegte Konsistenzebene ist stärker als die während der Kontoerstellung festgelegte. Wenn die Konsistenzebene beispielsweise „Session“ ist, kann die Außerkraftsetzung nicht „Strong“ oder „Bounded“ sein. |
Abrufen eines Dokuments
Der Vorgang „Get Document“ ruft ein Dokument anhand des zugehörigen Partitionsschlüssels und Dokumentschlüssels ab. Die zugehörigen Statuscodes sind:
Statuscode | Operation Type | Beschreibung |
---|---|---|
304 | Nicht geändert | Das angeforderte Dokument wurde seit dem angegebenen eTag-Wert im If-Match-Header geändert. Der Dienst gibt einen leeren Antwortkörper zurück. |
400 | Ungültige Anforderung | Die im Header „x-ms-consistency-level“ festgelegte Konsistenzebene ist stärker als die während der Kontoerstellung festgelegte. Wenn die Konsistenzebene beispielsweise „Session“ ist, kann die Außerkraftsetzung nicht „Strong“ oder „Bounded“ sein. |
404 | Nicht gefunden | Das Dokument ist keine Ressource mehr, d. h., das Dokument wurde gelöscht. |
Ersetzen eines Dokuments
Der Vorgang „Replace Document“ ersetzt den gesamten Inhalt eines Dokuments. Die zugehörigen Statuscodes sind:
Statuscode | Operation Type | Beschreibung |
---|---|---|
400 | Ungültige Anforderung | Der JSON-Text ist ungültig. Überprüfen Sie, ob geschweifte Klammern oder Anführungszeichen fehlen. |
404 | Nicht gefunden | Das Dokument ist nicht mehr vorhanden, d. h., es wurde gelöscht. |
409 | Konflikt: | Die für das neue Dokument bereitgestellte id wurde von einem vorhandenen Dokument übernommen. |
413 | Entität zu groß | Die Dokumentgröße in der Anforderung hat die zulässige Dokumentgröße überschritten. |
Patchen eines Dokuments
Der Vorgang „Patch document“ aktualisiert bestimmte Dateien/Eigenschaften in einem einzelnen Dokument auf Pfadebene. Die zugehörigen Statuscodes sind:
Statuscode | Operation Type | Beschreibung |
---|---|---|
400 | Ungültige Anforderung | Der JSON-Text ist ungültig. |
412 | Vorbedingung nicht erfüllt | Die angegebene Vorbedingung ist nicht erfüllt. |
Dokument löschen
Der Vorgang „Delete Document“ löscht ein vorhandenes Dokument in einer Auflistung. Die zugehörigen Statuscodes sind:
Statuscode | Operation Type | Beschreibung |
---|---|---|
204 | Kein Inhalt | Der Löschvorgang war erfolgreich. |
404 | Nicht gefunden | Das Dokument wurde nicht gefunden. |
Abfragen von Dokumenten
Sie können die Dokumente der Auflistung mithilfe von Azure Cosmos DB SQL-Abfragen abfragen. Die zugehörigen Statuscodes sind:
Statuscode | Operation Type | Beschreibung |
---|---|---|
400 | Ungültige Anforderung | Die SQL-Syntax in der Anforderung ist nicht korrekt, oder es fehlen erforderliche Header. |
Andere wichtige Statuscodes, die eine Azure Cosmos DB-Anforderung zurückgeben kann
Einige Fehlerstatuscodes sind Verweise auf Ausnahmen. In den nächsten Abschnitten werden einige dieser Statuscodes ausführlicher erläutert. Nachstehend finden Sie jedoch einige weitere gebräuchliche Statuscodes, die Sie kennen sollten:
Statuscode | Operation Type | Beschreibung |
---|---|---|
408 | Anforderungszeitlimit | Der Vorgang wurde nicht innerhalb der vorgesehenen Zeit abgeschlossen. Dieser Code wird zurückgegeben, wenn eine gespeicherte Prozedur, ein Trigger oder eine benutzerdefinierte Funktion (innerhalb einer Abfrage) nicht innerhalb der maximalen Ausführungszeit abgeschlossen wird. |
429 | Zu viele Anforderungen | Für die Sammlung wurde der Grenzwert für den bereitgestellten Durchsatz überschritten. Wiederholen Sie die Anforderung, nachdem vom Server der entsprechende Zeitpunkt für die Wiederholung angegeben wurde. Weitere Informationen finden Sie in der Beschreibung von Anforderungseinheiten. |
500 | Interner Serverfehler | Der Vorgang ist aufgrund eines unerwarteten Dienstfehlers fehlgeschlagen. Wenden Sie sich an den Support. |
503 | Dienst nicht verfügbar | Der Vorgang konnte nicht abgeschlossen werden, da der Dienst nicht verfügbar war. Diese Situation kann aufgrund von Problemen mit der Netzwerkkonnektivität oder Dienstverfügbarkeit geschehen. Der Vorgang kann problemlos wiederholt werden. Wenden Sie sich an den Support, wenn das Problem weiterhin besteht. |