Diagnostizieren und Beheben fehlerhafter Anforderungsausnahmen in Azure Cosmos DB
GILT FÜR: NoSQL
Der HTTP-Statuscode 400 stellt dar, dass die Anforderung ungültige Daten enthält, oder es fehlen erforderliche Parameter.
Fehlende ID-Eigenschaft
Bei diesem Szenario tauchen häufig Fehler wie die folgenden auf:
Der Eingabeinhalt ist ungültig, weil die erforderlichen Eigenschaften (id) fehlen
Eine Antwort mit diesem Fehler bedeutet, dass das JSON-Dokument, das an den Dienst gesendet wird, nicht die erforderliche ID-Eigenschaft hat.
Lösung
Geben Sie eine id
-Eigenschaft mit einem Zeichenfolgenwert an, der gemäß der REST-Spezifikation als Teil des Dokuments angezeigt wird, die SDKs generieren die Werte für diese Eigenschaft nicht automatisch.
Ungültiger Partitionsschlüsselstyp
Bei diesem Szenario tauchen häufig Fehler wie die folgenden auf:
Partitions Schlüssel... ist ungültig.
Eine Antwort mit diesem Fehler bedeutet, dass der Partitionsschlüsselwert einen ungültigen Typ hat.
Lösung
Der Wert des Partitionsschlüssels muss eine Zeichenfolge oder eine Zahl sein. Stellen Sie sicher, dass der Wert den erwarteten Typen entspricht.
Falscher Wert für den Partitionsschlüssel
Bei diesem Szenario tauchen häufig diese Fehler auf:
Der Antwortstatuscode gibt keinen Erfolgstatus an: BadRequest (400); Unterstatus: 1001
Der aus dem Dokument extrahierte Partitionsschlüssel stimmt nicht mit dem im Header angegebenen Wert überein
Eine Antwort mit diesem Fehler bedeutet, dass Sie einen Vorgang ausführen und einen Partitionsschlüsselwert übergeben, der nicht mit dem Textwert des Dokuments für die erwartete Eigenschaft identisch ist. Wenn der Partitionsschlüsselpfad /myPartitionKey
ist, verfügt das Dokument über eine Eigenschaft namens myPartitionKey
mit einem Wert, der nicht mit dem Wert identisch ist, der beim Aufrufen der SDK-Methode als Partitionsschlüsselwert angegeben wurde.
Lösung
Senden Sie den Wertparameter für den Partitionsschlüssel, der mit dem Dokument Eigenschaftswert übereinstimmt.
Genauigkeitsverlust beim numerischen Partitionsschlüsselwert
Bei diesem Szenario tauchen häufig Fehler wie die folgenden auf:
Der angeforderte Partitionsschlüssel liegt außerhalb des Schlüsselbereichs – möglicherweise aufgrund des Verlusts der Genauigkeit des Partitionsschlüsselwerts.
Eine Antwort mit diesem Fehler wird wahrscheinlich durch einen Vorgang in einem Dokument mit einem numerischen Partitionsschlüssel verursacht, dessen Wert außerhalb des von Azure Cosmos DB unterstützten Werts liegt. Unter Grenzwerte pro Element finden Sie die maximale Länge des numerischen Eigenschaftswerts.
Lösung
Erwägen Sie die Verwendung des Typs string
für den Partitionsschlüssel, wenn präzise numerische Werte erforderlich sind.
Nächste Schritte
- Diagnostizieren und Behandeln von Problemen bei Verwendung des .NET SDK für Azure Cosmos DB
- Weitere Informationen zu Leistungsrichtlinien für .NET Version 3 und .NET Version 2
- Diagnostizieren und Behandeln von Problemen bei Verwendung des Java v4 SDK für Azure Cosmos DB.
- Weitere Informationen zu Leistungsrichtlinien für das Java v4 SDK.