Delen via


Problemen met ongeldige aanvraag-uitzonderingen vaststellen en oplossen in Azure Cosmos DB

VAN TOEPASSING OP: NoSQL

De HTTP-statuscode 400 vertegenwoordigt de aanvraag ongeldige gegevens of ontbrekende vereiste parameters.

De id-eigenschap ontbreekt

In dit scenario is het gebruikelijk om de fout te zien:

De invoerinhoud is ongeldig omdat de vereiste eigenschappen - id; ' - ontbreken

Een antwoord met deze fout betekent dat het JSON-document dat naar de service wordt verzonden de vereiste id-eigenschap ontbreekt.

Oplossing

Geef een id eigenschap met een tekenreekswaarde op volgens de REST-specificatie als onderdeel van uw document. De SDK's genereren geen automatisch gegenereerde waarden voor deze eigenschap.

Ongeldig type partitiesleutel

In dit scenario is het gebruikelijk om fouten te zien, zoals:

Partitiesleutel ... is ongeldig.

Een antwoord met deze fout betekent dat de partitiesleutelwaarde van een ongeldig type is.

Oplossing

De waarde van de partitiesleutel moet een tekenreeks of een getal zijn, zorg ervoor dat de waarde van de verwachte typen is.

Verkeerde partitiesleutelwaarde

In dit scenario is het gebruikelijk om deze fouten te zien:

Antwoordstatuscode geeft geen succes aan: BadRequest (400); Substatus: 1001

PartitionKey die uit het document is geëxtraheerd, komt niet overeen met de partitiesleutel die is opgegeven in de koptekst

Een antwoord met deze fout betekent dat u een bewerking uitvoert en een partitiesleutelwaarde doorgeeft die niet overeenkomt met de hoofdwaarde van het document voor de verwachte eigenschap. Als het partitiesleutelpad van de verzameling is /myPartitionKey, heeft het document een eigenschap die wordt aangeroepen myPartitionKey met een waarde die niet overeenkomt met wat is opgegeven als partitiesleutelwaarde bij het aanroepen van de SDK-methode.

Oplossing

Verzend de parameter voor de partitiesleutelwaarde die overeenkomt met de waarde van de documenteigenschap.

Precisieverlies van numerieke partitiesleutelsleutel

In dit scenario is het gebruikelijk om fouten te zien, zoals:

De aangevraagde partitiesleutel valt buiten het sleutelbereik, mogelijk vanwege verlies van precisie van partitiesleutelwaarde

Een antwoord met deze fout wordt waarschijnlijk veroorzaakt door een bewerking in een document met een numerieke partitiesleutel waarvan de waarde buiten de waarde valt die wordt ondersteund door Azure Cosmos DB. Zie Limieten per item voor de maximale lengte van de numerieke eigenschapswaarde.

Oplossing

Overweeg het gebruik van het type string voor partitiesleutel als u nauwkeurige numerieke waarden nodig hebt.

Volgende stappen