Aşağıdaki bölümler v2 ve v1 kaynak yöntemleri için hata modelini açıklar, respect.
v2 Kaynak Hata Modeli
Varsayılan olarak, kaynak metodları 200 OK durumuyla yanıt verir. İstekler başarısız olduğunda, Open Cloud standart hata kodlarını döndürür. Tüm hata yanıtları aynı biçimde sağlar, bunlar:
- code - HTTP durum kodunu temsil eder.
- message - Hata anlatımını açıklayan bir mesaj.
- details - Hata ile ilgili daha fazla bilgi içeren bir nesne.
Hata Örneği
{
"code": "INVALID_ARGUMENT",
"message": "The provided filter is invalid.",
"details": [
{
...
}
]
}
Kodlar
Aşağıdaki tabloda code için olası değerler açıklanmıştır.
Kod | HTTP Durumu | Açıklama |
---|---|---|
INVALID_ARGUMENT | 400 | Geçersiz bir universeId ile argüman geçersiz. Ayrıca, Content-Length ve Content-Type gibi gözaltı eksik veya geçersiz olabilir. |
PERMISSION_DENIED | 403 | İstek işleme izinleriniz veya kapsayanız yeterli değil. |
NOT_FOUND | 404 | Sistem, veri depoları gibi belirli kaynakları bulamıyor, bunun yerine bir girişi bulur. |
ABORTED | 409 | Operasyon durduruldu. |
RESOURCE_EXHAUSTED | 429 | Operasyonu yerine getirmek için yeterli kotağınız yok, genellikle çok fazla istek göndermenizden kaynaklanıyor. |
CANCELLED | 499 | Sistem, genellikle bir client tarafından zamanlanmış olarak sona erdirme talepiptal eder. |
INTERNAL | 500 | Dahili sunucu hata, genellikle bir sunucu hata yüzünden. |
NOT_IMPLEMENTED | 501 | Sunucu API yöntemini uygulamıyor. |
UNAVAILABLE | 503 | Hizmet mevcut değil, genellikle sunucu kapalı olduğunda geri döndürülür. |
v1 Kaynak Hata Modeli
Tüm hata yanıtları aynı, standart formatına sahiptir, bu da şunları içerir:
- Tüm Open Cloud uç noktalara uygulanabilen yüksek seviyeli bir nedendir. Bir error alanı, her Open Cloud uç noktası için uygulanabilir yüksek seviyeli bir nedendir.
- Hata açıklayıcı bir hata message , bu da hatayı açıklar.
- errorDetails bir objektir, her API'ye özgü olan hata hakkında daha fazla bilgi içerir.
Bir hatin kök nedenini analiz etmek için, error alanın değerini ve errorDetails alanını referans alın. Hata işleme için kullan message alanını bir eklent olarak kullanın, çünkü bazen aynı seviyede ayrıntıları kapsayabilir.
Örnek Standart Veri Depoları Hata Yanıtı
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
Örnek hata yanıtı, yanılır error ile gösterilen yüksek
Tüm sipariş edilen veri depolarının hata yanıtları aynı biçimdeki hata yanıtlarını içerir:
Örnek DataStores Error Talebi
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
The code içerir hata seviyesi yüksek bir dizi içerirken, the message içerir hata ile ilgili özellikleri içerir
Kodlar
Tüm yüksek seviyeli Open Cloud hatalarının bir özet için aşağıdaki tabloyu referans alın.
HTTP Durum Kodu | Hata | Açıklamalar |
---|---|---|
400 | GEÇERSİZ_ARGÜMAN | Geçersiz bir universeId ile argüman geçersiz. Ayrıca, Content-Length ve Content-Type gibi gözaltı eksik veya geçersiz olabilir. |
403 | YETERLİ OLMAZ_SCOPE | İstek, erişim jetonu tarafından sağlanan daha yüksek ayrıcalıklara ihtiyaç duyar. |
403 | İZİN_REDDETTİ | İşlemin yapılması için yeterli alanınız yok. |
404 | NOT_FOUND | Sistem, veri mağazagibi belirttiğiniz kaynakları bulamıyor. |
409 | İPTAL EDİLDİ | Operasyon, evrenin bir parçası olmayan bir yeri yayınlamak gibi bir çatışma nedeniyle aborte edildi. |
429 | KAYNAKLAR_HAZIR | Operasyonu yerine getirmek için yeterli kotağınız yok, genellikle çok fazla istek göndermenizden kaynaklanıyor. |
499 | İPTAL EDİLDİ | Sistem, genellikle bir client tarafından zamanlanmış olarak sona erdirme talepiptal eder. |
500 | İÇERİK | Dahili sunucu hata. Genellikle bir sunucu hata. |
501 | NOT_IMPLEMENTED | Sunucu API yöntemini uygulamıyor. |
503 | MEVCUT DEĞİL | Hizmet mevcut değil. Genellikle sunucu kapalı. |