Package google.rpc

Dizin

Kod

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ı olduğunda döndürüldü.

HTTP Eşleme: 200 OK

CANCELLED

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

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

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'lerin oluşturduğu 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 değerinden farklı olduğuna dikkat edin. INVALID_ARGUMENT, sistemin durumundan bağımsız olarak sorunlu olan bağımsız değişkenleri belirtir (ör. bozuk dosya adı).

HTTP Eşleme: 400 Hatalı İstek

DEADLINE_EXCEEDED

İşlem tamamlanabilmesi için verilen son tarih geçerliliğini yitirdi. 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 sona ermesine yetecek kadar gecikmiş olabilir.

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

NOT_FOUND

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

Sunucu geliştiricileri için not: Bir istek, kullanıcı sınıfının tamamı için reddedilirse (ör. kademeli özellik sunumu veya belgelenmemiş izin verilenler listesine) NOT_FOUND kullanılabilir. Belirli bir kullanıcı sınıfındaki bazı kullanıcılar için istek (kullanıcı tabanlı erişim denetimi gibi) reddedilirse PERMISSION_DENIED kullanılmalıdır.

HTTP Eşlemesi: 404 Bulunamadı

ALREADY_EXISTS

Bir istemcinin oluşturmaya çalıştığı varlık (ör. dosya veya dizin) zaten var.

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ı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 diğer ön koşulları karşıladığını ima etmez.

HTTP Eşlemesi: 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 bir kaynak tükendi veya dosya sisteminin tamamında yer kalmadı.

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

FAILED_PRECONDITION

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

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

HTTP Eşleme: 400 Hatalı İstek

ABORTED

Genellikle sıralayıcı kontrolü hatası veya işlemin iptali gibi bir eşzamanlılık sorunu nedeniyle işlem iptal edilmiştir.

FAILED_PRECONDITION, ABORTED ve UNAVAILABLE arasında karar vermek için yukarıdaki yönergelere göz atın.

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

OUT_OF_RANGE

İşlem geçerli aralığı aşacak şekilde yapılmaya çalışıldı. Ör. dosya bitiminden sonrasını aramak veya okumak.

INVALID_ARGUMENT hatasının aksine bu hata, sistem durumu değişirse düzeltilebilecek bir sorunu belirtir. Örneğin, 32 bit bir dosya sistemi [0,2^32-1] aralığında olmayan bir ofsette okuması istenirse INVALID_ARGUMENT üretir, ancak geçerli dosya boyutunu aşan bir ofsetten okuması istenirse OUT_OF_RANGE üretir.

FAILED_PRECONDITION ile OUT_OF_RANGE arasında biraz örtüşme var. Bir alanda yineleme yapan arayanların, işinin bittiğini algılayacak bir OUT_OF_RANGE hatasını kolayca bulabilmesi için geçerli olduğunda OUT_OF_RANGE (daha spesifik olan hata) kullanılmasını ö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, temel sistemin beklediği bazı sabitlerin 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 büyük olasılıkla geçici bir durumdur ve geri alma yoluyla yeniden denenerek düzeltilebilir. Etkin olmayan işlemleri yeniden denemenin her zaman güvenli olmadığını unutmayın.

FAILED_PRECONDITION, ABORTED ve UNAVAILABLE arasında karar vermek için yukarıdaki yönergelere göz atın.

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

DATA_LOSS

Kurtarılamaz veri kaybı veya bozulması

HTTP Eşleme: 500 Dahili Sunucu Hatası

Durum

Status türü, REST API'ler ve RPC API'leri dahil olmak üzere farklı programlama ortamları için uygun bir mantıksal hata modeli tanımlar. gRPC tarafından kullanılır. Her Status mesajı üç veri parçası içerir: hata kodu, hata mesajı ve hata ayrıntıları.

Bu hata modeli ve modelle nasıl çalışılacağı hakkında daha fazla bilgiyi API Tasarım Kılavuzu'nda bulabilirsiniz.

Alanlar
code

int32

google.rpc.Code değerinin enum değeri olması gereken durum kodu.

message

string

Geliştiricinin karşılaştığı İngilizce hata mesajı. Kullanıcılara yönelik tüm hata mesajları yerelleştirilip google.rpc.Status.details alanında gönderilmeli veya istemci tarafından yerelleştirilmelidir.

details[]

Any

Hata ayrıntılarını içeren mesajların listesi. API'lerin kullanabileceği yaygın bir dizi mesaj türü vardır.