Dela via


HTTP-statuskoder för Azure Cosmos DB

Den här artikeln innehåller de HTTP-statuskoder som returneras av REST-åtgärderna.

Kod Beskrivning
200 OK En av följande REST-åtgärder lyckades:

- GET på en resurs.
- PUT på en resurs.
- POST på en resurs.
- POST på en lagrad procedurresurs för att köra den lagrade proceduren.
Skapad 201 En POST-åtgärd för att skapa en resurs lyckas.
204 Inget innehåll DELETE-åtgärden har slutförts.
400 Felaktig begäran JSON, SQL eller JavaScript i begärandetexten är ogiltig.

Dessutom kan en 400 returneras när de nödvändiga egenskaperna för en resurs inte finns eller anges i brödtexten i POST eller PUT på resursen.

400 returneras också när den konsekventa nivån för en GET-åtgärd åsidosätts av en starkare konsekvens från den som angetts för kontot.

400 returneras också när en begäran som kräver en x-ms-documentdb-partitionsnyckel inte innehåller den.
401 – Ej behörig 401 returneras när Authorization rubriken är ogiltig för den begärda resursen.
403 – Förbjuden Auktoriseringstoken har upphört att gälla.

403-kod returneras också under en POST åtgärd för att skapa en resurs när resurskvoten har nåtts. Ett exempel på det här scenariot är när du försöker lägga till dokument i en samling som har nått sin etablerade lagring.

403 kan också returneras när en lagrad procedur, utlösare eller UDF har flaggats för hög resursanvändning och blockerats från körning.

Felet 403 – Förbjuden returneras när brandväggsreglerna som konfigurerats på ditt Azure Cosmos DB-konto blockerar din begäran. Förfrågningar från datorer utanför listan med tillåtna kommer att få ett 403-svar.

403.3 – Den här statuskoden returneras för skrivbegäranden under den manuella redundansåtgärden. Den här statuskoden används som omdirigeringskod av drivrutiner för att vidarebefordra skrivbegäranden till en ny skrivregion. Den direkta REST-klienten måste utföra GET på DatabaseAccount för att identifiera den aktuella skrivregionen och vidarebefordra skrivbegärandet till den slutpunkten.
404 – Hittades inte Åtgärden försöker agera på en resurs som inte längre finns. Resursen kan till exempel redan ha tagits bort.
408 – Timeout för begäran Åtgärden slutfördes inte inom den tilldelade tiden. Den här koden returneras när en lagrad procedur, utlösare eller UDF (inom en fråga) inte slutför körningen inom den maximala körningstiden.
409 – Konflikt Det ID som tillhandahölls för en resurs i en PUT- eller POST-åtgärd har tagits av en befintlig resurs. Lös problemet genom att använda ett annat ID för resursen. För partitionerade samlingar måste ID vara unikt i alla dokument med samma partitionsnyckelvärde.
412 Villkorsfel Åtgärden angav en eTag som skiljer sig från den version som är tillgänglig på servern, dvs. ett optimistiskt samtidighetsfel. Försök att utföra åtgärden igen när du har läst in den senaste versionen av resursen och uppdaterat eTag i förfrågan.
413 Entiteten är för stor Dokumentstorleken i begäran överskred den tillåtna dokumentstorleken för en begäran. Max tillåten dokumentstorlek är 2 MB.
423 Låst Det går inte att utföra dataflödesskalningsåtgärden eftersom det pågår en annan skalningsåtgärd.
424 Misslyckat beroende När en dokumentåtgärd misslyckas inom transaktionsomfånget för en TransactionalBatch-åtgärd betraktas alla andra åtgärder i batchen som misslyckade beroenden. Den här statuskoden anger att den aktuella åtgärden ansågs vara misslyckad på grund av ett annat fel inom samma transaktionsomfång.
429 För många förfrågningar Samlingen har överskridit den etablerade dataflödesgränsen. Försök att utföra begäran på nytt efter återförsökstiden som angivits av servern. Mer information finns i enheter för programbegäran.
449 – Försök igen med Åtgärden påträffade ett tillfälligt fel. Den här koden inträffar endast vid skrivåtgärder. Det är säkert att försöka utföra åtgärden igen.
500 Internt serverfel Åtgärden misslyckades på grund av ett oväntat tjänstfel. Kontakta supporten. Se Arkivering av ett Azure Support problem.
503 – Tjänsten är inte tillgänglig Det gick inte att slutföra åtgärden eftersom tjänsten inte var tillgänglig. Den här situationen kan inträffa på grund av problem med nätverksanslutning eller tjänsttillgänglighet. Det är säkert att försöka utföra åtgärden igen. Kontakta supporten om problemet kvarstår.

HTTP-understatuskoder

När du använder Customer-Managed Keys (CMK) i Azure Cosmos DB returnerar Azure Cosmos DB felinformationen tillsammans med en HTTP-understatuskod i svaret om det uppstår fel. Du kan använda den här understatuskoden för att felsöka rotorsaken till problemet. För närvarande stöder Azure Cosmos DB följande understatuskoder:

Understatuskoder för problem på serversidan

Följande understatuskoder stöds av Azure Cosmos DB för problem på serversidan:

Kod för understatus Beskrivning
4000 (Det gick inte att hämta/komma åt Azure AD token) Det här felet uppstår om Azure Cosmos DB inte kan hämta åtkomsttoken för Azure Active Directory (Azure AD). Den här token krävs för att Azure Cosmos DB ska få åtkomst till Key Vault. Felet kan inträffa på grund av ett nätverksproblem eller ett datacenterproblem och det är inte något som användaren kan vidta en åtgärd. Skapa en supportbegäran för att nå Azure Cosmos DB-teamet för att lösa problemet.
4001 (Azure AD tjänsten är inte tillgänglig) Det här felet uppstår om Azure AD-tjänsten är nere eller har problem. Du kan kontrollera azure-avbrottets instrumentpanel för att kontrollera om det finns något befintligt avbrott. Dessa avbrott åtgärdas vanligtvis inom ett par timmar. Det är bäst för dig att kontakta Azure AD-teamet och informera dem om problemet du ser. Om Azure AD-teamet upptäcker att det inte finns något problem skapar du en supportbegäran för att nå Azure Cosmos DB-teamet för lösning.
4004 (Key Vault tjänsten är inte tillgänglig) Det här felet uppstår om Azure Cosmos DB försöker komma åt Key Vault, men tjänsten inte är tillgänglig. Detta kan bero på ett nätverksproblem för att nå Key Vault eller så kan själva tjänsten vara nere. Du kan kontrollera azure-avbrottets instrumentpanel för att kontrollera om det finns något befintligt avbrott. Dessa avbrott åtgärdas vanligtvis inom ett par timmar. Det är bäst för dig att kontakta Key Vault-teamet och informera dem om problemet du ser. Om Key Vault-teamet upptäcker att det inte finns något problem skapar du en supportbegäran för att nå Azure Cosmos DB-teamet för lösning.
4007 (internt serverfel) Det här är ett internt serverfel och det inträffar om indatabytena inte är i base64-format.
4008 (Key Vault interna tjänstfel) Det här felet uppstår om Azure Cosmos DB inte kan komma åt Key Vault. Det kan bero på ett nätverksproblem eller om själva Key Vault-tjänsten är nere. Du kan kontrollera azure-avbrottets instrumentpanel för att kontrollera om det finns något befintligt avbrott. Dessa avbrott åtgärdas vanligtvis inom ett par timmar. Det är bäst för dig att kontakta Key Vault-teamet och informera dem om problemet du ser. Om Key Vault-teamet upptäcker att det inte finns något problem kontaktar du Azure Cosmos DB-teamet för lösning.
1013 (insamlingsåtgärd pågår) Om du stöter på timeout-undantag när du skapar en samling utför du en läsåtgärd för att kontrollera om samlingen har skapats. Läsåtgärden genererar ett undantag tills åtgärden för att skapa samlingen lyckas. Om läsåtgärden genererar ett undantag med statuskoden 404 och understatuskoden 1013 innebär det att åtgärden för att skapa samlingen fortfarande pågår. Försök att läsa igen tills du får 200 eller 201 statuskoder. Dessa koder meddelar dig att samlingen har skapats.

Understatuskoder för slutanvändarproblem

Följande understatuskoder stöds av Azure Cosmos DB för problem som orsakas av slutanvändaren:

Kod för understatus Beskrivning
4002 (Key Vault beviljar inte behörighet till Azure AD, eller så är nyckeln inaktiverad) Det här problemet uppstår om du har tagit bort Azure Cosmos DB-identiteten från Key Vault åtkomstprinciper eller om du har inaktiverat nyckeln. Det här problemet orsakas vanligtvis av slutanvändaren. Om det här felet inträffar kontrollerar du att Azure Cosmos DB har åtkomst till Key Vault och att nyckeln är aktiverad.
4003 (nyckeln hittades inte) Det här problemet uppstår om nyckeln tas bort från Key Vault. Det här problemet orsakas vanligtvis av slutanvändaren. En av förutsättningarna för att använda Azure Cosmos DB med kundhanterade nycklar är att Key Vault har mjukt borttagnings- och rensningsskydd aktiverat. Det innebär att du kan återställa den borttagna nyckeln och återställa åtkomsten till Azure Cosmos DB.
4005 (Det går inte att omsluta eller ta bort nyckeln) Det här felet uppstår om Key Vault inte kan omsluta eller ta bort nyckeln. Det här problemet orsakas vanligtvis av slutanvändaren. En av de möjliga orsakerna till det här felet är att Key Vault inte kunde avkoda den krypterade bloben med hjälp av den senaste nyckeln eftersom du har roterat nyckeln. Lös det här felet genom att aktivera nyligen inaktiverade nycklar så kommer det att lösas om ungefär en timme. Om problemet inte har lösts efter mer än 2 timmar skickar du problemet till Azure Cosmos DB.
4006 (nyckel-URL är ogiltig) Det här felet uppstår under etableringen om du har inkluderat nyckelversionen i Key Vault-URL:en. Det här felet orsakas ofta av slutanvändaren. Lös det här felet genom att ta bort versionen och försöka igen. Om du till exempel har använt URL:en i formatet https://<KeyVaultName>.vault.azure.net/keys/<KeyName>/<KeyVersion>uppdaterar du den till https://<KeyVaultName>.vault.azure.net/keys/<KeyName>/
4009 (Key Vault DNS-namn kan inte matchas) Det här felet uppstår om Key Vault DNS-namnet inte kunde matchas, eftersom du har använt fel Key Vault namn. Det här felet orsakas av slutanvändaren. Lös problemet genom att korrigera namnet på Key Vault och försök igen.

Se även