Code

gRPC API'leri için standart hata kodları.

Bazen birden fazla hata kodu geçerli olabilir. Hizmetler, geçerli olan en spesifik hata kodunu döndürmelidir. Örneğin, her iki kod da geçerliyse FAILED_PRECONDITION yerine OUT_OF_RANGE tercih edin. Benzer şekilde, FAILED_PRECONDITION yerine NOT_FOUND veya ALREADY_EXISTS tercih edilir.

Sıralamalar
OK

Hata değil; başarılı bir sonuç elde edildi.

HTTP Eşleme: 200 Tamam

CANCELLED

İşlem, genellikle arayan tarafından iptal edildi.

HTTP Eşleme: 499 İstemci İsteği Kapattı

UNKNOWN

Bilinmeyen hata. Örneğin, başka bir adres alanından alınan Status değeri, bu adres alanında bilinmeyen bir hata alanına ait olduğunda bu hata döndürülebilir. Ayrıca API'ler tarafından ortaya çıkan ve yeterli hata bilgisi döndürmeyen hatalar da bu hataya dönüştürülebilir.

HTTP Eşleme: 500 Dahili Sunucu Hatası

INVALID_ARGUMENT

İstemci geçersiz bir bağımsız değişken belirtti. Bunun FAILED_PRECONDITION ile arasında farklı olduğunu unutmayın. INVALID_ARGUMENT, sistemin durumundan bağımsız olarak sorunlu olan bağımsız değişkenleri gösterir (ör. hatalı biçimlendirilmiş dosya adı).

HTTP Eşleme: 400 Hatalı İstek

DEADLINE_EXCEEDED

Son tarih işlem tamamlanmadan sona erdi. Sistemin durumunu değiştiren işlemlerde, işlem başarıyla tamamlanmış olsa bile bu hata döndürülebilir. Örneğin, bir sunucudan gelen başarılı bir yanıt, son tarihin dolmasına yetecek kadar gecikmiş olabilir.

HTTP Eşleme: 504 Ağ Geçidi Zaman Aşımı

NOT_FOUND

İstenen bazı varlıklar (ör. dosya veya dizin) bulunamadı.

Sunucu geliştiricileri için not: Özelliklerin kademeli olarak kullanıma sunulması veya belgelenmemiş izin verilenler listesi gibi bir istek tüm kullanıcı sınıfı için reddedilirse NOT_FOUND kullanılabilir. Bir kullanıcı sınıfındaki bazı kullanıcılar için istek reddedilirse (kullanıcı tabanlı erişim denetimi gibi) PERMISSION_DENIED kullanılmalıdır.

HTTP Eşleme: 404 Bulunamadı

ALREADY_EXISTS

İstemcinin oluşturmaya çalıştığı varlık (ör. dosya veya dizin) zaten mevcut.

HTTP Eşleme: 409 Çakışması

PERMISSION_DENIED

Arayanın belirtilen işlemi yürütme izni yok. PERMISSION_DENIED, bazı kaynakların tükenmesinden kaynaklanan retlerde kullanılmamalıdır (bu hatalar için RESOURCE_EXHAUSTED etiketini kullanın). Arayan kişi tanımlanamıyorsa PERMISSION_DENIED kullanılmamalıdır (bu hatalar için bunun yerine UNAUTHENTICATED kullanın). Bu hata kodu, isteğin geçerli olduğunu, istenen varlığın var olduğunu veya başka ön koşulları karşıladığını ima etmez.

HTTP Eşleme: 403 Yasak

UNAUTHENTICATED

İstekte işlemle ilgili geçerli kimlik doğrulama bilgileri bulunmuyor.

HTTP Eşleme: 401 Yetkilendirilmemiş

RESOURCE_EXHAUSTED

Kullanıcı başına kota gibi bazı kaynaklar tükendi veya dosya sisteminin tamamında boş alan kalmamış olabilir.

HTTP Eşleme: 429 Çok Fazla İstek Var

FAILED_PRECONDITION

Sistem, yürütülmesi için gereken durumda olmadığından işlem reddedildi. Örneğin, silinecek dizin boş değil, dizin olmayan bir dizine bir rmdir işlemi uygulanır vb.

Hizmeti uygulayıcılar FAILED_PRECONDITION, ABORTED ve UNAVAILABLE arasında karar vermek için aşağıdaki yönergeleri kullanabilir: (a) İstemci yalnızca başarısız çağrıyı yeniden deneyebiliyorsa UNAVAILABLE kullanın. (b) İstemcinin daha üst düzeyde yeniden denemesi gerekiyorsa ABORTED öğesini kullanın. Örneğin, istemci tarafından belirtilen bir test ve set işlemi başarısız olduğunda istemcinin oku değiştir ve yazma sırasını yeniden başlatması gerektiğini belirtir. (c) Sistem durumu açıkça düzeltilene kadar istemcinin yeniden denememesi gerekiyorsa FAILED_PRECONDITION kullanın. Örneğin, bir "rmdir" başarısız olur. Bunun nedeni, dizin boş olmamasıdır. Dosyalar dizinden silinmediği sürece istemcinin işlemi yeniden denememesi gerektiği için FAILED_PRECONDITION döndürülmelidir.

HTTP Eşleme: 400 Hatalı İstek

ABORTED

İşlem, genellikle sıralayıcı kontrolü hatası veya işlem iptali gibi bir eşzamanlılık sorunu nedeniyle iptal edildi.

FAILED_PRECONDITION, ABORTED ve UNAVAILABLE arasından karar vermek için yukarıdaki yönergelere bakın.

HTTP Eşleme: 409 Çakışması

OUT_OF_RANGE

İşlem, geçerli aralığın dışına çıkmaya çalışıldı. Ör. dosya sonunu arama veya okuma.

INVALID_ARGUMENT işlevinin aksine bu hata, sistem durumu değişirse düzeltilebilecek bir sorunu gösterir. Örneğin, 32 bitlik bir dosya sistemi [0,2^32-1] aralığında olmayan bir ofsetle okumanız istenirse INVALID_ARGUMENT oluşturur, ancak geçerli dosya boyutunu aşan bir ofsetten okuma yapılması istenirse OUT_OF_RANGE oluşturur.

FAILED_PRECONDITION ile OUT_OF_RANGE arasında biraz örtüşme var. Bir alanda yineleme yapan arayanların, işlerini bitirdiklerini algılamak için kolayca OUT_OF_RANGE hatası arayabilmeleri amacıyla, geçerli olduğunda OUT_OF_RANGE (daha spesifik hata) kullanmanızı öneririz.

HTTP Eşleme: 400 Hatalı İstek

UNIMPLEMENTED

İşlem uygulanmadı veya bu hizmette desteklenmiyor/etkinleştirilmiyor.

HTTP Eşleme: 501 Uygulanmadı

INTERNAL

Dahili hatalar. Bu da temel sistemin beklediği bazı sabit değerlerin bozulduğu anlamına gelir. Bu hata kodu ciddi hatalar için ayrılmıştır.

HTTP Eşleme: 500 Dahili Sunucu Hatası

UNAVAILABLE

Hizmet şu anda kullanılamıyor. Bu durum büyük olasılıkla geçici bir durumdur ve geri alma işlemiyle tekrar denenerek düzeltilebilir. İhtiyati olmayan işlemleri yeniden denemenin her zaman güvenli olmadığını unutmayın.

FAILED_PRECONDITION, ABORTED ve UNAVAILABLE arasından karar vermek için yukarıdaki yönergelere bakın.

HTTP Eşleme: 503 Hizmet Kullanılamıyor

DATA_LOSS

Kurtarılamaz veri kaybı veya bozulması.

HTTP Eşleme: 500 Dahili Sunucu Hatası