Code

gRPC API'ler 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 kullanın. Benzer şekilde, FAILED_PRECONDITION yerine NOT_FOUND veya ALREADY_EXISTS tercih edin.

Sıralamalar
OK

Hata değil; başarıyla sonuçlandı.

HTTP Eşleme: 200 Tamam

CANCELLED

İşlem genellikle arayan tarafından iptal edildi.

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

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, yeterli hata bilgisi döndürmeyen API'ler tarafından oluşturulan 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 öğesinden farklı olduğunu unutmayın. INVALID_ARGUMENT, sistemin durumundan (ör. bozuk dosya adı) bağımsız olarak sorunlu bağımsız değişkenleri belirtir.

HTTP Eşleme: 400 Hatalı İsteği

DEADLINE_EXCEEDED

İşlemin tamamlanması için süre kaldı. 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 alınan başarılı yanıt, son tarihin sona ereceği kadar uzun bir süre gecikebilir.

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

NOT_FOUND

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

Sunucu geliştiricilere not: Kademeli özellik sunumu veya belgelenmemiş izin verilenler listesi gibi bir kullanıcı sınıfının tamamı için istek reddedilirse NOT_FOUND kullanılabilir. Kullanıcı tabanlı erişim denetimi gibi bir kullanıcı sınıfında yer alan bazı kullanıcılar için istek reddedilirse 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 retler için kullanılmamalıdır (bu hatalar için bunun yerine RESOURCE_EXHAUSTED kullanın). Arayan kişi tanımlanamazsa PERMISSION_DENIED kullanılmamalıdır (bu hatalar için bunun yerine UNAUTHENTICATED kullanın). Bu hata kodu, isteğin geçerli olduğu veya istenen varlığın mevcut olduğu ya da diğer ön koşulları karşıladığı anlamına gelmez.

HTTP Eşleme: 403 Yasaklandı

UNAUTHENTICATED

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

HTTP Eşleme: 401 Yetkilendirilmedi

RESOURCE_EXHAUSTED

Kullanıcı başına bir kota tükenmiş veya dosya sistemi tamamen tükenmiş olabilir.

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

FAILED_PRECONDITION

Sistem, işlemin yürütülmesi için gerekli bir durumda olmadığından işlem reddedildi. Örneğin, silinecek dizin boş olamaz, dizin dışı bir alana rmdir işlemi uygulanır vb.

Hizmet uygulayıcıları FAILED_PRECONDITION, ABORTED ve UNAVAILABLE arasında karar verirken aşağıdaki yönergeleri kullanabilir: (a) İstemci sadece başarısız olan aramayı yeniden deneyebilirse UNAVAILABLE kullanın. (b) Müşterinin daha yüksek düzeyde yeniden denemesi gerekiyorsa ABORTED kullanın. Örneğin, istemci tarafından belirtilen test ve set başarısız olduğunda, istemcinin okuma-değiştirme-yazma sırasını yeniden başlatması gerektiğini belirtir. (c) Müşteri, sistem durumu açıkça düzeltilene kadar tekrar denemeyecekse FAILED_PRECONDITION kullanın. Örneğin, dizin boş olmadığı için bir "rmdir" başarısız olursa dosyalar dizinden silinmediği sürece istemcinin yeniden denememesi gerektiğinden FAILED_PRECONDITION döndürülmelidir.

HTTP Eşleme: 400 Hatalı İsteği

ABORTED

İşlem, genellikle bir dizi kontrol kontrolü başarısızlığı veya işlem iptali gibi eşzamanlılık sorunu nedeniyle iptal edildi.

FAILED_PRECONDITION, ABORTED ve UNAVAILABLE arasında karar verirken yukarıdaki yönergelere bakın.

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

OUT_OF_RANGE

İşlem, geçerli aralığı geçtikten sonra yapılmaya çalışıldı. Örneğin, dosya sonunda arama yapmak veya dosyayı okumak.

INVALID_ARGUMENT ürününün aksine bu hata, sistem durumu değişirse düzeltilebilecek bir sorunu belirtir. Örneğin, 32 bitlik bir dosya sistemi, [0,2^32-1] aralığındaki bir ofsette okunması istendiğinde INVALID_ARGUMENT, mevcut dosya boyutundan daha yüksek bir mesafeden okunması istendiğinde OUT_OF_RANGE oluşturur.

FAILED_PRECONDITION ile OUT_OF_RANGE arasında epey bir çakışma var. Alanlar arasında iterasyon yapan katılımcıların, tamamlandığını tespit etmek için kolayca OUT_OF_RANGE hatası arayabilmesi amacıyla, geçerli olduğunda OUT_OF_RANGE (daha spesifik hata) özelliğini kullanmanızı öneririz.

HTTP Eşleme: 400 Hatalı İsteği

UNIMPLEMENTED

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

HTTP Eşleme: 501 Uygulanmadı

INTERNAL

Dahili hatalar. Bu da, temel sistem tarafından beklenen bazı değişmez değerlerin bozulduğu anlamına gelmektedir. 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 muhtemelen geçici bir durumdur ve yeniden deneme ile yeniden düzeltilebilir. Karşılıklı olmayan işlemleri yeniden denemenin her zaman güvenli olmadığını unutmayın.

FAILED_PRECONDITION, ABORTED ve UNAVAILABLE arasında karar verirken yukarıdaki yönergelere bakın.

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

DATA_LOSS

Kurtarılamaz veri kaybı veya bozulması.

HTTP Eşleme: 500 Dahili Sunucu Hatası