Aracılığıyla paylaş


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 senaryoya uygun ş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 şekilde 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 hiçbir değişiklik yapılmadan 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 muhtemelen günlere kadar sürebilir.

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

401 MAC imza 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ıyor veya anahtarın tamamı kopyalanmadı.

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

401 MAC imza 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şturma işleminden 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ışıyor olması ve kapsayıcının silinip aynı adla yeniden oluşturulmasıdır. SDK yeni kapsayıcıyı kullanmaya çalışır, 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 etkin olarak işlem gerçekleştirirken yazma erişimiyle okuma/yazma anahtarlarını veya yetkilendirme mekanizmasını kullanın.

Sonraki adımlar