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


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

A KÖVETKEZŐRE VONATKOZIK: NoSQL

HTTP 401: A HTTP-kérelemben található MAC-aláírás nem ugyanaz, mint a kiszámított aláírás. Ha a "A HTTP-kérelemben található MAC-aláírás nem ugyanaz, mint a kiszámított aláírás" hibaüzenetet kapta, az alábbi forgatókönyvek okozhatják.

A régebbi SDK-k esetében a kivétel érvénytelen JSON-kivételként jelenhet meg a helyes 401 jogosulatlan kivétel helyett. Az újabb SDK-k megfelelően kezelik ezt a forgatókönyvet, és érvényes hibaüzenetet adnak.

Hibaelhárítási lépések

Az alábbi lista a jogosulatlan kivételek ismert okait és megoldásait tartalmazza.

A kulcs nem volt megfelelően elforgatva a leggyakoribb forgatókönyv

A 401-es MAC-aláírás röviddel a kulcsváltás után látható, és végül módosítások nélkül leáll.

Megoldás:

Lecserélődött a kulcs, és a kulcsváltás során nem követték az ajánlott eljárásokat. Az Azure Cosmos DB-fiók kulcsváltása az Azure Cosmos DB-fiók méretétől függően néhány másodperctől akár napokig is eltarthat.

A kulcs helytelenül van konfigurálva

A 401 MAC-aláírással kapcsolatos probléma konzisztens lesz, és az adott kulcsot használó összes hívásnál előfordul.

Megoldás:

A kulcs helytelenül van konfigurálva az alkalmazásban, és nem a megfelelő kulcsot használja a fiókhoz, vagy a teljes kulcsot nem másolta ki.

Az alkalmazás írási műveletekhez használja a csak olvasható kulcsokat

A 401 MAC-aláírási probléma csak olyan írási műveleteknél fordul elő, mint a létrehozás vagy a csere, de az olvasási kérések sikeresek.

Megoldás:

Váltson az alkalmazásra olvasási/írási kulcs használatára, hogy a műveletek sikeresen befejeződjenek.

Versenyfeltétel tároló létrehozásával

A 401 MAC-aláírással kapcsolatos probléma röviddel a tároló létrehozása után jelentkezik. Ez a probléma csak a tároló létrehozásának befejezéséig jelentkezik.

Megoldás:

Van egy versenyfeltétel a tárolók létrehozásával. Egy alkalmazáspéldány a tároló létrehozása előtt próbál hozzáférni a tárolóhoz. Ennek a versenyfeltételnek a leggyakoribb forgatókönyve az, ha az alkalmazás fut, és a tároló törlődik, és ugyanazzal a névvel újra létrejön. Az SDK megpróbálja használni az új tárolót, de a tároló létrehozása még folyamatban van, így nem rendelkezik a kulcsokkal.

A tömeges mód engedélyezve

Ha a Tömeges mód engedélyezve van, az olvasási és írási műveletek a legjobb hálózati teljesítményre vannak optimalizálva, és egy dedikált Tömeges API-val küldik el a háttérrendszernek. A 401-ben a Tömeges módú olvasási műveletek végrehajtásakor fellépő hibák gyakran azt jelentik, hogy az alkalmazás csak olvasási kulcsokat használ.

Megoldás

Használja az írási/olvasási kulcsokat vagy az engedélyezési mechanizmust írási hozzáféréssel a tömeges módú műveletek engedélyezésekor.

Következő lépések