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
- Azure Cosmos DB .NET SDK'sını kullanırken sorunları tanılama ve giderme .
- .NET v3 ve .NET v2 için performans yönergeleri hakkında bilgi edinin.
- Azure Cosmos DB Java v4 SDK'sını kullanırken karşılaşılan sorunları tanılama ve giderme .
- Java v4 SDK'sı için performans yönergeleri hakkında bilgi edinin.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin