Aşağıdaki bölümler, v2 ve v1 kaynak yöntemleri için hata modelini açıklar, birbirine göre.
v2 kaynak hatası modeli
Varsayılan olarak, kaynak yöntemleri 200 OK durumuyla yanıt verir.İstekler başarısız olduğunda, Open Cloud standart hata kodlarını iade eder.Tüm hata yanıtları aynı biçime sahiptir, içinde şunlar bulunur:
- code - HTTP durum kodunu temsil eder.
- message - Hata açıklayan bir mesaj.
- details - Hata ile ilgili daha fazla bilgi içeren bir nesne.
Örnek Hata
{
"code": "INVALID_ARGUMENT",
"message": "The provided filter is invalid.",
"details": [
{
...
}
]
}
Kodlar
Aşağıdaki tablo, code için olası değerleri tanımlar.
Kod | HTTP Durumu | Açıklama |
---|---|---|
INVALID_ARGUMENT | 400 | Geçersiz bir argüman geçirdiniz, örneğin geçersiz bir universeId . Ayrıca eksik veya geçersiz başlıklar da olabilir, örneğin Content-Length ve Content-Type . |
PERMISSION_DENIED | 403 | Talebinizin işlemi gerçekleştirmek için yeterli izin veya alanı yok. |
NOT_FOUND | 404 | Sistem belirtilen kaynaklarınızı bulamıyor, örneğin bir veri depolama girişi. |
ABORTED | 409 | Operasyon iptal edildi. |
RESOURCE_EXHAUSTED | 429 | Operasyonu gerçekleştirmek için yeterli kota yok, genellikle çok fazla istek göndermekten dolayı. |
CANCELLED | 499 | Sistem talepsonlandırır, genellikle bir müşteri tarafı süresi dolduğundan. |
INTERNAL | 500 | Genellikle bir sunucu hatası nedeniyle iç sunucu hata, hata. |
NOT_IMPLEMENTED | 501 | Sunucu API yöntemini uygulamıyor. |
UNAVAILABLE | 503 | Hizmet mevcut değil, genellikle sunucu kapalı olduğunda döndürülür. |
v1 kaynak hatası modeli
Tüm hata yanıtları aynı, standart biçime sahiptir, içinde şunlar bulunur:
- Tüm Açık Bulut uç noktalarına uygulanabilen yüksek düzey bir sebep olan bir error alanı.
- Hata açıklayıcı bir hata message , hataları daha da açıklar
- Her API'ye özel olan hata bilgilerini kapsayan bir errorDetails nesne, daha fazla bilgiyi kapsar
Bir hataların kök nedenini analiz etmek için, error alanının değerine ve errorDetails alanının değerine bakın.message alanını hata işleme için ek olarak kullanın, çünkü bazen errorDetails alanındaki ayrıntı seviyesini kapsamayabilir.
Örnek Standart Veri Depolama Hata Yanıtı
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
Örnek hata yanıtı, yüksek düzeyde Açık Bulut 'ı gösterir, hata 'ı gösterir ve 'deki özel <23 Yanıtın error ve datastoreErrorCode alanlarından, hatalara neden olan geçersiz bir kursor parametresini geçtiğinizi anlayabilirsiniz.Ardından işlevini düzeltmek için imleç parametrenizi sorunu çözmek için düzeltin.
Tüm sipariş edilen veri depolama hatalarının yanıt formatı aynıdır ve şunları içerir:
Örnek Sıralanmış Veri Depoları Hata Yanıtı
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
The code yüksek seviye hata içerecek bir dize içerecekken, message hata ile ilgili özel detaylar içerecek
Kodlar
Tüm yüksek düzey Açık Bulut hatalarının özeti için aşağıdaki tabloya bakın.
HTTP Durum Kodu | Error İngilizce: Error | Açıklamalar |
---|---|---|
400 | Geçersiz_Argümanlar | Geçersiz bir argüman geçirdiniz, örneğin geçersiz bir universeId . Ayrıca eksik veya geçersiz başlıklar da olabilir, örneğin Content-Length ve Content-Type . |
403 | Yetersiz_SCOPE | İstek, erişim jetonu tarafından sağlananlardan daha yüksek yetkilere ihtiyaç duyar. |
403 | İZİN_REDDETİLDİ | Talebinizin işlemi gerçekleştirmek için yeterli ölçüsü yok. |
404 | NOT_FOUND Değil | Sistem belirtilen kaynaklarınızı bulamıyor, örneğin bir veri mağaza. |
409 | IPTAL EDİLDİ | Operasyon, evrenin bir parçası olmayan bir yeri yayınlamak gibi bir çatışma nedeniyle iptal edildi. |
429 | KAYNAK_TÜKENDİ | Operasyonu gerçekleştirmek için yeterli kota yok, genellikle çok fazla istek göndermekten dolayı. |
499 | IPTAL EDİLDİ | Sistem talepsonlandırır, genellikle bir müşteri tarafı süresi dolduğundan. |
500 | İÇİ | Dahili sunucu hatası. Genellikle bir sunucu hatası. |
501 | Uygulanmadı NOT_IMPLEMENTED | Sunucu API yöntemini uygulamıyor. |
503 | MEVCUT DEĞIL | Hizmet kullanılamıyor. Genellikle sunucu kapalıdır. |