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 belirgin hata kodunu döndürmelidir. Örneğin, her iki kod da geçerliyse OUT_OF_RANGE yerine FAILED_PRECONDITION'ü tercih edin. Benzer şekilde, FAILED_PRECONDITION yerine NOT_FOUND veya ALREADY_EXISTS'u tercih edin.

Sıralamalar
OK

Hata değildir; başarılı olduğunda döndürülür.

HTTP eşleme: 200 OK

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 bir Status değeri bu adres alanında bilinmeyen bir hata alanına aitse 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'ten farklı olduğunu unutmayın. INVALID_ARGUMENT, sistemin durumundan bağımsız olarak sorunlu olan bağımsız değişkenleri (ör. hatalı biçimlendirilmiş dosya adı) gösterir.

HTTP eşleme: 400 Hatalı İstek

DEADLINE_EXCEEDED

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

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

NOT_FOUND

İstenen bazı öğeler (ö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 kullanıma sunma veya belgelenmemiş izin verilenler listesi) NOT_FOUND kullanılabilir. Kullanıcı sınıfındaki bazı kullanıcılar için bir istek reddedilirse (ör. kullanıcı tabanlı erişim denetimi) PERMISSION_DENIED kullanılmalıdır.

HTTP Eşleme: 404 Bulunamadı

ALREADY_EXISTS

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

HTTP Haritalama: 409 Çakışma

PERMISSION_DENIED

Arayan kullanıcının belirtilen işlemi gerçekleştirme izni yok. PERMISSION_DENIED, bir kaynağın tükenmesinden kaynaklanan retler için kullanılmamalıdır (bu hatalar için bunun yerine RESOURCE_EXHAUSTED kullanın). Arayan tanımlanamıyorsa PERMISSION_DENIED kullanılmamalıdır (bu tür hatalar için bunun yerine UNAUTHENTICATED kullanın). Bu hata kodu, isteğin geçerli olduğu veya istenen öğenin var 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 Yetkisiz

RESOURCE_EXHAUSTED

Kullanıcı başına kota gibi bir kaynak tükendi veya dosya sisteminin tamamında yer kalmadı.

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

FAILED_PRECONDITION

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

Hizmet 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 aramayı yeniden deneyebiliyorsa UNAVAILABLE kullanın. (b) İstemcinin daha yüksek bir düzeyde yeniden denemesi gerekiyorsa ABORTED kullanın. Örneğin, istemci tarafından belirtilen bir test ve ayarlama başarısız olduğunda, istemcinin bir okuma-değiştirme-yazma sırasını yeniden başlatması gerektiğini gösterir. (c) Sistem durumu açıkça düzeltilene kadar istemcinin yeniden denememesi gerekiyorsa FAILED_PRECONDITION değerini kullanın. Örneğin, bir "rmdir" işlemi dizin boş olmadığı için başarısız olursa istemci, dizinden dosyalar silinmediği sürece yeniden deneme yapmaması gerektiğinden FAILED_PRECONDITION döndürülmelidir.

HTTP eşleme: 400 Hatalı İstek

ABORTED

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

FAILED_PRECONDITION, ABORTED ve UNAVAILABLE arasında karar vermek için yukarıdaki kurallara bakın.

HTTP Haritalama: 409 Çakışma

OUT_OF_RANGE

İşlem, geçerli aralık dışında gerçekleştirilmeye çalışıldı. Örneğin, dosya sonunu geçerek arama veya okuma.

INVALID_ARGUMENT hatasının aksine bu hata, sistem durumu değişirse düzeltilebilecek bir sorunu gösterir. Örneğin, 32 bitlik bir dosya sisteminden [0,2^32-1] aralığında olmayan bir ofsette okuma yapması istenirse INVALID_ARGUMENT oluşturur ancak mevcut dosya boyutunun üzerindeki bir ofsetten okuma yapması istenirse OUT_OF_RANGE oluşturur.

FAILED_PRECONDITION ile OUT_OF_RANGE arasında oldukça fazla çakışma var. Uygun olduğunda OUT_OF_RANGE (daha spesifik hata) kullanmanızı öneririz. Böylece, bir alanda iterasyon yapan çağrıyı yapanlar, işlemin tamamlandığını algılamak için kolayca OUT_OF_RANGE hatası arayabilir.

HTTP eşleme: 400 Hatalı İstek

UNIMPLEMENTED

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

HTTP Eşleme: 501 Uygulanmadı

INTERNAL

Dahili hatalar. Bu, temel sistem tarafından beklenen bazı değişmez özelliklerin 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çicidir ve geri çekilmeyle yeniden deneyerek düzeltilebilir. Kimlik doğrulaması olmayan işlemlerin her zaman yeniden denenmesinin güvenli olmadığını unutmayın.

FAILED_PRECONDITION, ABORTED ve UNAVAILABLE arasında karar vermek için yukarıdaki kurallara 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ı

Durum

Status türü, REST API'leri ve RPC API'leri dahil olmak üzere farklı programlama ortamlarına uygun mantıksal bir 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 bu modelle nasıl çalışacağınız hakkında daha fazla bilgiyi API Tasarım Kılavuzu'nda bulabilirsiniz.

Alanlar
code

int32

Durum kodu. google.rpc.Code değerine sahip bir enum olmalıdır.

message

string

Geliştiricilere yönelik, İngilizce bir hata mesajı. Kullanıcılara yönelik tüm hata mesajları yerelleştirilmeli ve 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 ortak bir mesaj türü grubu vardır.