Dizin
BadRequest(mesaj)BadRequest.FieldViolation(message)Code(enum)ErrorInfo(mesaj)Help(message)Help.Link(message)LocalizedMessage(message)RequestInfo(message)Status(mesaj)
BadRequest
İstemci isteğindeki ihlalleri açıklar. Bu hata türü, isteğin söz dizimiyle ilgili yönlerine odaklanır.
| Alanlar | |
|---|---|
field_violations[] |
İstemci isteğindeki tüm ihlalleri açıklar. |
FieldViolation
Tek bir hatalı istek alanını açıklamak için kullanılan mesaj türü.
| Alanlar | |
|---|---|
field |
İstek gövdesindeki bir alana giden yol. Değer, bir protokol arabelleği alanını tanımlayan, nokta ile ayrılmış tanımlayıcılar dizisi olur. Aşağıdakileri göz önünde bulundurun: Bu örnekte, proto
JSON'da aynı değerler şu şekilde gösterilir:
|
description |
İstek öğesinin neden kötü olduğuna dair açıklama. |
reason |
Alan düzeyindeki hatanın nedeni. Bu, alan düzeyindeki hatanın asıl nedenini tanımlayan sabit bir değerdir. google.rpc.ErrorInfo.domain kapsamındaki FieldViolation türünü benzersiz şekilde tanımlamalıdır. Bu değer en fazla 63 karakter olmalı ve UPPER_SNAKE_CASE'i temsil eden |
localized_message |
Alan düzeyindeki hatalar için API tüketicisine döndürülmesi güvenli olan yerelleştirilmiş bir hata mesajı sağlar. |
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 kodunu tercih edin. Benzer şekilde, FAILED_PRECONDITION yerine NOT_FOUND veya ALREADY_EXISTS tercih edin.
| Sıralamalar | |
|---|---|
OK |
Hata değildir; başarıyla 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 HTTP Eşleme: 500 Dahili Sunucu Hatası |
INVALID_ARGUMENT |
İstemci, geçersiz bir bağımsız değişken belirtti. Bunun HTTP Eşleme: 400 Hatalı İstek |
DEADLINE_EXCEEDED |
İşlem tamamlanmadan son tarih geçti. 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 kullanma tarihinin geçmesine yetecek kadar uzun süre gecikmiş olabilir. HTTP Eşleme: 504 Ağ Geçidi Zaman Aşımı |
NOT_FOUND |
İstenen bazı öğeler (ör. dosya veya dizin) bulunamadı. Sunucu geliştiricilerine not: Bir istek, kademeli özellik kullanıma sunma veya belgelenmemiş izin verilenler listesi gibi tüm kullanıcı sınıfı için reddedilirse HTTP Eşlemesi: 404 Bulunamadı |
ALREADY_EXISTS |
Bir istemcinin oluşturmaya çalıştığı varlık (ör. dosya veya dizin) zaten mevcut. HTTP eşleme: 409 Çakışma |
PERMISSION_DENIED |
Arayan kullanıcının belirtilen işlemi gerçekleştirme izni yok. HTTP Eşlemesi: 403 Yasaklandı |
UNAUTHENTICATED |
İstekte işlemle ilgili geçerli kimlik doğrulama bilgileri bulunmuyor. HTTP Eşlemesi: 401 Yetkisiz |
RESOURCE_EXHAUSTED |
Kullanıcı başına kota veya dosya sisteminin tamamında yer kalmaması gibi bir kaynak tükenmiş olabilir. HTTP Eşleme: 429 Çok Fazla İstek |
FAILED_PRECONDITION |
Sistem, işlemin yürütülmesi için gerekli durumda olmadığından işlem reddedildi. Örneğin, silinecek dizinin boş olmaması, rmdir işleminin dizin olmayan bir öğeye uygulanması vb. Hizmet uygulayıcıları, HTTP Eşleme: 400 Hatalı İstek |
ABORTED |
İşlem, genellikle sıralayıcı kontrolü hatası veya işlem iptali gibi eşzamanlılık sorunu nedeniyle iptal edildi.
HTTP eşleme: 409 Çakışma |
OUT_OF_RANGE |
İşlem, geçerli aralığın dışında denenmiş. Örneğin, dosya sonunun ötesinde arama yapma veya okuma
HTTP Eşleme: 400 Hatalı İstek |
UNIMPLEMENTED |
İşlem uygulanmamıştır veya bu hizmette desteklenmiyor/etkinleştirilmemiştir. HTTP Eşleme: 501 Uygulanmadı |
INTERNAL |
Dahili hatalar. Bu, temel sistemin beklediği bazı değişmezlerin 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 çekilme ile yeniden denenerek düzeltilebilir. İdempotent olmayan işlemleri yeniden denemenin her zaman güvenli olmadığını unutmayın.
HTTP Eşleme: 503 Hizmet Kullanılamıyor |
DATA_LOSS |
Kurtarılamaz veri kaybı veya bozulması. HTTP Eşleme: 500 Dahili Sunucu Hatası |
ErrorInfo
Yapılandırılmış ayrıntılarla hatanın nedenini açıklar.
Etkinleştirilmemiş "pubsub.googleapis.com" API'siyle iletişim kurulurken oluşan hata örneği:
{ "reason": "API_DISABLED"
"domain": "googleapis.com"
"metadata": {
"resource": "projects/123",
"service": "pubsub.googleapis.com"
}
}
Bu yanıt, pubsub.googleapis.com API'sinin etkin olmadığını gösterir.
Stokta olmayan bir bölgede Spanner örneği oluşturulmaya çalışılırken döndürülen hata örneği:
{ "reason": "STOCKOUT"
"domain": "spanner.googleapis.com",
"metadata": {
"availableRegions": "us-central1,us-east2"
}
}
| Alanlar | |
|---|---|
reason |
Hatanın nedeni. Bu, hatanın asıl nedenini tanımlayan sabit bir değerdir. Hata nedenleri, belirli bir hata alanında benzersizdir. Bu değer en fazla 63 karakter olmalı ve UPPER_SNAKE_CASE'i temsil eden |
domain |
"Nedeni"n ait olduğu mantıksal gruplandırma. Hata alanı genellikle hatayı oluşturan aracın veya ürünün kayıtlı hizmet adıdır. Örnek: "pubsub.googleapis.com". Hata, ortak bir altyapı tarafından oluşturuluyorsa hata alanı, altyapıyı tanımlayan küresel olarak benzersiz bir değer olmalıdır. Google API altyapısı için hata alanı "googleapis.com"dur. |
metadata |
Bu hatayla ilgili ek yapılandırılmış ayrıntılar. Anahtarlar, |
Yardım
Belgelere veya bant dışı işlem yapmaya yönelik bağlantılar sağlar.
Örneğin, bir kota kontrolü, çağıran projenin erişilen hizmeti etkinleştirmediğini belirten bir hatayla başarısız olursa bu, bitin değiştirileceği geliştirici konsolundaki doğru yere doğrudan yönlendiren bir URL içerebilir.
| Alanlar | |
|---|---|
links[] |
Mevcut hatanın işlenmesiyle ilgili ek bilgilere yönlendiren URL'ler. |
Bağlantı
Bir URL bağlantısını tanımlar.
| Alanlar | |
|---|---|
description |
Bağlantının ne sunduğunu açıklar. |
url |
Bağlantının URL'si. |
LocalizedMessage
TBG hatasına eklenebilecek, kullanıcıya döndürülmesi güvenli olan yerelleştirilmiş bir hata mesajı sağlar.
| Alanlar | |
|---|---|
locale |
https://www.rfc-editor.org/rfc/bcp/bcp47.txt adresinde tanımlanan spesifikasyona göre kullanılan yerel ayar. Örnekler: "en-US", "fr-CH", "es-MX" |
message |
Yukarıdaki yerel ayarda yerelleştirilmiş hata mesajı. |
RequestInfo
Müşterilerin hata bildirirken veya başka geri bildirimler sağlarken ekleyebileceği, istekle ilgili meta verileri içerir.
| Alanlar | |
|---|---|
request_id |
Yalnızca onu oluşturan hizmet tarafından yorumlanması gereken opak bir dize. Örneğin, hizmetin günlüklerindeki istekleri tanımlamak için kullanılabilir. |
serving_data |
Bu isteği karşılamak için kullanılan tüm veriler. Örneğin, hata ayıklama için hizmet sağlayıcıya geri gönderilebilen şifrelenmiş bir yığın izi. |
Durum
Status türü, REST API'ler ve RPC API'ler dahil olmak üzere farklı programlama ortamlarına uygun mantıksal bir hata modeli tanımlar. gRPC tarafından kullanılır. Her Status mesajı; hata kodu, hata mesajı ve hata ayrıntıları olmak üzere üç veri içerir.
Bu hata modeli ve nasıl kullanılacağı hakkında daha fazla bilgiyi API Tasarım Kılavuzu'nda bulabilirsiniz.
| Alanlar | |
|---|---|
code |
Durum kodu, |
message |
Geliştiriciye yönelik hata mesajı (İngilizce olmalıdır). Kullanıcıya gösterilen tüm hata mesajları yerelleştirilmiş olup |
details[] |
Hata ayrıntılarını içeren mesajların listesi. API'lerin kullanabileceği ortak bir mesaj türleri kümesi vardır. |