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 /myPartitionKey
har 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
- Diagnostisera och felsöka problem när du använder Azure Cosmos DB .NET SDK.
- Lär dig mer om prestandariktlinjer för .NET v3 och .NET v2.
- Diagnostisera och felsöka problem när du använder Azure Cosmos DB Java v4 SDK.
- Läs mer om prestandariktlinjer för Java v4 SDK.