Megosztás a következőn keresztül:


Az Azure Cosmos DB tiltott kivételeinek diagnosztizálása és hibaelhárítása

A KÖVETKEZŐRE VONATKOZIK: NoSQL

A 403-ra vonatkozó HTTP-állapotkód azt jelzi, hogy a kérés nem teljesíthető.

Tűzfalblokkoló kérések

Az adatsík-kérelmek az alábbi három útvonalon érkezhetnek az Azure Cosmos DB-be.

  • Nyilvános internet (IPv4)
  • Szolgáltatásvégpont
  • Privát végpont

Ha egy adatsík-kérelmet a 403 Tiltott érték blokkol, a hibaüzenet megadja, hogy az előző három útvonal közül melyiken keresztül érkezett a kérés az Azure Cosmos DB-be.

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

Megoldás

Ismerje meg, hogy melyik útvonalon várható az Azure Cosmos DB-be érkező kérés.

  • Ha a hibaüzenet azt mutatja, hogy a kérés nem a várt útvonalon keresztül érkezett az Azure Cosmos DB-be, a probléma valószínűleg az ügyféloldali beállítással kapcsolatos. Ellenőrizze duplán az ügyféloldali beállításokat a dokumentációk alapján.
    • Nyilvános internet: IP-tűzfal konfigurálása az Azure Cosmos DB-ben.
    • Szolgáltatásvégpont: Az Azure Cosmos DB-hez való hozzáférés konfigurálása virtuális hálózatokról. Fontolja meg, hogy a szolgáltatásvégpontot szeretné-e használni, de a kérés az Azure Cosmos DB-hez érkezett a nyilvános internetről. Ez a helyzet azt jelezheti, hogy az ügyfél által futtatott alhálózat nem engedélyezte a szolgáltatásvégpontot az Azure Cosmos DB-ben.
    • Privát végpont: Azure Cosmos DB-fiókhoz konfigurálja az Azure Private Linket. Fontolja meg azt is, hogy magánvégpontot szeretne-e használni, de a kérés az Azure Cosmos DB-hez érkezett a nyilvános internetről. Ez a helyzet azt jelezheti, hogy a virtuális gép tartománynév-kiszolgálója (DNS) nem úgy lett konfigurálva, hogy a fiókvégpontot a nyilvános IP-cím helyett a privátra oldja fel.
  • Ha a kérés a várt útvonalon keresztül érkezett az Azure Cosmos DB-be, a kérés le lett tiltva, mert a forráshálózati identitás nincs konfigurálva a fiókhoz. Ellenőrizze a fiók beállításait attól függően, hogy a kérés milyen útvonalon érkezett az Azure Cosmos DB-be.
    • Nyilvános internet: ellenőrizze a fiók nyilvános hálózati hozzáférésének és IP-tartományának szűrőkonfigurációit.
    • Szolgáltatásvégpont: ellenőrizze a fiók nyilvános hálózati hozzáférését és a virtuális hálózat szűrőkonfigurációit.
    • Privát végpont: ellenőrizze a fiók privát végpontjának konfigurációját és az ügyfél privát DNS-konfigurációját. Ezt a problémát az okozhatja, hogy egy másik fiókhoz beállított privát végpontról fér hozzá a fiókhoz.

Ha nemrég frissítette a fiók tűzfalkonfigurációit, vegye figyelembe, hogy a módosítások alkalmazása akár 15 percet is igénybe vehet.

A partíciókulcs túllépi a tárterületet

Ebben a forgatókönyvben az alábbihoz hasonló hibák gyakoriak:

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

Megoldás

Ez a hiba azt jelenti, hogy az aktuális particionálási terv és számítási feladat a megadott partíciókulcs-értékhez megengedettnél több adatot próbál tárolni. A tárolóban nincs korlátozva a logikai partíciók száma, de az egyes logikai partíciók által tárolható adatok mérete korlátozott. A pontosításhoz segítséget kérhet.

Nem adatműveletek nem engedélyezettek

Ez a forgatókönyv akkor fordul elő, ha nem adatműveleteket próbál végrehajtani Microsoft Entra-identitásokkal. Ebben a forgatókönyvben az alábbihoz hasonló hibák gyakoriak:

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.

Megoldás

Hajtsa végre a műveletet az Azure Resource Manager, az Azure Portal, az Azure CLI vagy az Azure PowerShell használatával. Ha az Azure Functions Azure Cosmos DB-eseményindítót használja, győződjön meg arról, hogy az CreateLeaseContainerIfNotExists eseményindító tulajdonsága nincs beállítva true. A Microsoft Entra-identitások használata letilt minden nem adatműveletet, például a bérlettároló létrehozását.