Dela via


Diagnostisera och felsöka undantag som inte är tillåtna i Azure Cosmos DB

GÄLLER FÖR: NoSQL

HTTP-statuskoden 403 representerar att begäran inte kan slutföras.

Brandväggsblockeringsbegäranden

Dataplansbegäranden kan komma till Azure Cosmos DB via följande tre sökvägar.

  • Offentligt Internet (IPv4)
  • Tjänstslutpunkt
  • Privat slutpunkt

När en dataplansbegäran blockeras med 403 Förbjuden anger felmeddelandet via vilken av de föregående tre sökvägarna som begäran kom till Azure Cosmos DB.

  • Request originated from client IP {...} through public internet.
  • Request originated from client VNET through service endpoint.
  • Request originated from client VNET through private endpoint.

Lösning

Förstå via vilken sökväg begäran förväntas komma till Azure Cosmos DB.

  • Om felmeddelandet visar att begäran inte kom till Azure Cosmos DB via den förväntade sökvägen kommer problemet troligen att bero på konfigurationen på klientsidan. Dubbelkolla konfigurationen på klientsidan genom att följa dokumentationen.
  • Om begäran kom till Azure Cosmos DB via den förväntade sökvägen blockerades begäran eftersom källnätverksidentiteten inte har konfigurerats för kontot. Kontrollera inställningarna för kontot beroende på vilken sökväg begäran kom till Azure Cosmos DB.
    • Offentligt Internet: kontrollera kontots konfigurationer för offentligt nätverk och IP-intervallfilter.
    • Tjänstslutpunkt: Kontrollera kontots offentliga nätverksåtkomst och filterkonfigurationer för virtuella nätverk.
    • Privat slutpunkt: Kontrollera kontots privata slutpunktskonfiguration och klientens privata DNS-konfiguration. Det här problemet kan bero på åtkomst till kontot från en privat slutpunkt som har konfigurerats för ett annat konto.

Om du nyligen har uppdaterat kontots brandväggskonfigurationer bör du tänka på att det kan ta upp till 15 minuter att göra ändringar.

Partitionsnyckeln överskrider lagringen

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

Response status code does not indicate success: Forbidden (403); Substatus: 1014
Partition key reached maximum size of {...} GB

Lösning

Det här felet innebär att din aktuella partitioneringsdesign och arbetsbelastning försöker lagra mer än den tillåtna mängden data för ett visst partitionsnyckelvärde. Det finns ingen gräns för antalet logiska partitioner i containern, men storleken på data som varje logisk partition kan lagra är begränsad. Du kan kontakta supporten för förtydliganden.

Icke-dataåtgärder tillåts inte

Det här scenariot inträffar vid försök att utföra icke-dataåtgärder med hjälp av Microsoft Entra-identiteter. I det här scenariot är det vanligt att se fel som de här:

Operation 'POST' on resource 'calls' is not allowed through Azure Cosmos DB endpoint
Forbidden (403); Substatus: 5300; The given request [PUT ...] cannot be authorized by AAD token in data plane.

Lösning

Utför åtgärden via Azure Resource Manager, Azure Portal, Azure CLI eller Azure PowerShell. Om du använder Azure Functions Azure Cosmos DB-utlösaren kontrollerar du att CreateLeaseContainerIfNotExists utlösarens egenskap inte är inställd på true. Användning av Microsoft Entra-identiteter blockerar alla icke-dataåtgärder, till exempel att skapa lånecontainern.