Dela via


Diagnostisera och felsöka undantag för felaktig begäran i Azure Cosmos DB

GÄLLER FÖR: NoSQL

HTTP-statuskoden 400 representerar begäran innehåller ogiltiga data eller så saknas nödvändiga parametrar.

Saknar ID-egenskapen

I det här scenariot är det vanligt att se felet:

Indatainnehållet är ogiltigt eftersom de obligatoriska egenskaperna – "id; ' - saknas

Ett svar med det här felet innebär att JSON-dokumentet som skickas till tjänsten saknar den nödvändiga ID-egenskapen.

Lösning

Ange en id egenskap med ett strängvärde enligt REST-specifikationen som en del av dokumentet. SDK:erna skapar inte värden automatiskt för den här egenskapen.

Ogiltig partitionsnyckeltyp

I det här scenariot är det vanligt att se fel som:

Partitionsnyckel ... är ogiltigt.

Ett svar med det här felet innebär att partitionsnyckelvärdet är av en ogiltig typ.

Lösning

Värdet för partitionsnyckeln ska vara en sträng eller ett tal. Kontrollera att värdet är av de förväntade typerna.

Fel partitionsnyckelvärde

I det här scenariot är det vanligt att se följande fel:

Svarsstatuskoden indikerar inte framgång: BadRequest (400); Understatus: 1001

PartitionKey som extraherats från dokumentet matchar inte det som anges i rubriken

Ett svar med det här felet innebär att du kör en åtgärd och skickar ett partitionsnyckelvärde som inte matchar dokumentets brödtextvärde för den förväntade egenskapen. Om samlingens partitionsnyckelsökväg är /myPartitionKeyhar dokumentet en egenskap som anropas myPartitionKey med ett värde som inte matchar det som angavs som partitionsnyckelvärde när SDK-metoden anropades.

Lösning

Skicka parametern partitionsnyckelvärde som matchar värdet för dokumentegenskapen.

Precisionsförlust för numerisk partitionsnyckelvärde

I det här scenariot är det vanligt att se fel som:

Den begärda partitionsnyckeln ligger utom nyckelintervallet, möjligen på grund av förlust av precision för partitionsnyckelvärdet

Ett svar med det här felet orsakas troligen av en åtgärd i ett dokument med en numerisk partitionsnyckel vars värde ligger utanför vad som stöds av Azure Cosmos DB. Se Begränsningar per objekt för den maximala längden på värdet för numeriska egenskaper.

Lösning

Överväg att använda typ string för partitionsnyckel om du behöver exakta numeriska värden.

Nästa steg