Azure Cosmos DB yetkisiz özel durumlarını tanılama ve sorunlarını giderme

UYGULANANLAR: NOSQL

HTTP 401: HTTP isteğinde bulunan MAC imzası, hesaplanan imzayla aynı değildir. "HTTP isteğinde bulunan MAC imzası hesaplanan imzayla aynı değil" 401 hata iletisini aldıysanız, bunun nedeni aşağıdaki senaryolar olabilir.

Eski SDK'lar için özel durum, doğru 401 yetkisiz özel durumu yerine geçersiz bir JSON özel durumu olarak görünebilir. Daha yeni SDK'lar bu senaryoyı düzgün bir şekilde işler ve geçerli bir hata iletisi verir.

Sorun giderme adımları

Aşağıdaki liste, yetkisiz özel durumların bilinen nedenlerini ve çözümlerini içerir.

Anahtar düzgün döndürülmedi en yaygın senaryodur

401 MAC imzası, anahtar döndürmeden kısa süre sonra görülür ve sonunda herhangi bir değişiklik olmadan durur.

Çözüm:

Anahtar döndürüldü ve en iyi yöntemlere uygun değildi. Azure Cosmos DB hesap anahtarı döndürme işlemi, Azure Cosmos DB hesap boyutuna bağlı olarak birkaç saniyeden birkaç güne kadar sürebilir.

Anahtar yanlış yapılandırılmış

401 MAC imzası sorunu tutarlı olacaktır ve bu anahtarı kullanan tüm çağrılarda gerçekleşir.

Çözüm:

Anahtar uygulamada yanlış yapılandırılmış ve hesap için yanlış anahtar kullanılıyor veya anahtarın tamamı kopyalanmamış.

Uygulama, yazma işlemleri için salt okunur anahtarları kullanıyor

401 MAC imzası sorunu yalnızca oluşturma veya değiştirme gibi yazma işlemleri için oluşur, ancak okuma istekleri başarılı olur.

Çözüm:

İşlemin başarıyla tamamlanmasını sağlamak için uygulamayı okuma/yazma anahtarı kullanacak şekilde değiştirin.

Kapsayıcı oluşturma ile yarış durumu

401 MAC imza sorunu, kapsayıcı oluşturulduktan kısa bir süre sonra görülür. Bu sorun yalnızca kapsayıcı oluşturma işlemi tamamlanana kadar oluşur.

Çözüm:

Kapsayıcı oluşturma ile bir yarış durumu vardır. Bir uygulama örneği, kapsayıcı oluşturma işlemi tamamlanmadan önce kapsayıcıya erişmeye çalışıyor. Bu yarış durumu için en yaygın senaryo, uygulamanın çalışıp çalışmadığını ve kapsayıcının silinip aynı adla yeniden oluşturulmasıdır. SDK yeni kapsayıcıyı kullanmayı dener, ancak anahtarlara sahip olmaması için kapsayıcı oluşturma işlemi devam etmektedir.

Toplu mod etkin

Toplu mod etkinleştirildiğinde, okuma ve yazma işlemleri en iyi ağ performansı için iyileştirilir ve ayrılmış bir Toplu API aracılığıyla arka uçlara gönderilir. Toplu mod etkinken okuma işlemleri yapılırken oluşan 401 hataları genellikle uygulamanın salt okunur anahtarları kullandığı anlamına gelir.

Çözüm

Toplu mod etkinken işlem gerçekleştirirken yazma erişimi olan okuma/yazma anahtarlarını veya yetkilendirme mekanizmasını kullanın.

Sonraki adımlar