Aşağıdaki bölümler, Open Cloud API'leri için hata yönetimini tanımlamaktadır. Uç noktalar ve doğrulama katmanları arasındaki implementasyon farklılıkları nedeniyle, hata yanıtları format açısından önemli ölçüde değişiklik gösterebilir.
Ağ Geçidi Hataları
Kimlik doğrulama veya yönlendirme sorunları için, hem Open Cloud v1 hem de v2 API'leri bu formatta hatalar döndürebilir:
{
"errors": [
{
"code": 0,
"message": "Geçersiz API Anahtarı"
}
]
}Open Cloud v2
Open Cloud v2 API'leri, hata API uç noktasında gerçekleştiğinde genellikle tutarlı bir hata formatı izler.
Standart v2 hata formatı
Open Cloud v2 API'leri bu formatta hatalar döndürür:
- code - Hata türünü temsil eden bir dize (ör. INVALID_ARGUMENT, NOT_FOUND).
- message - Hatanın açıklamasını yapan okunabilir bir mesaj.
- details - Hata spesifik ek bilgileri içeren isteğe bağlı bir dizi.
{
"code": "INVALID_ARGUMENT",
"message": "İstek içinde geçersiz Kullanıcı Kimliği."
}{
"code": "INVALID_ARGUMENT",
"message": "Verilen filtre geçersiz.",
"details": [
{
...
}
]
}v2 hata kodları
Aşağıdaki tablo, v2 API yanıtlarında code için olası değerleri tanımlar.
| Kod | HTTP Durumu | Açıklama |
|---|---|---|
| INVALID_ARGUMENT | 400 | Geçersiz bir argüman geçtiniz, örneğin geçersiz bir universeId. Ayrıca, Content-Length ve Content-Type gibi eksik veya geçersiz başlıklarınız olabilir. |
| PERMISSION_DENIED | 403 | İsteğiniz, işlemi gerçekleştirmek için yeterli izin veya kapsam içermiyor. |
| NOT_FOUND | 404 | Sistem, belirttiğiniz kaynakları bulamıyor, örneğin bir veri mağazası girişi. |
| ABORTED | 409 | İşlem iptal edildi. |
| RESOURCE_EXHAUSTED | 429 | İşlemi gerçekleştirmek için yeterli kotalarınız yok, genellikle çok fazla istek gönderilmesi nedeniyle. |
| CANCELLED | 499 | Sistem isteği sonlandırdı, genellikle istemci tarafı zaman aşımı nedeniyle. |
| INTERNAL | 500 | Sunucu hatası, genellikle sunucu hatası nedeniyle. |
| NOT_IMPLEMENTED | 501 | Sunucu API metodunu uygulamıyor. |
| UNAVAILABLE | 503 | Hizmet mevcut değil, genellikle sunucu kapalı olduğunda döndürülür. |
Open Cloud v1
Open Cloud v1 API'lerinin hatalı yanıt formatları tutarsızdır. Format, belirli uç noktaya, hata türüne ve hatanın isteğin işlenme sürecindeki yerine bağlıdır.
Çoğu v1 uç noktası, bu üç formattan birinde hatalar döndürmektedir:
{
"error": "INVALID_ARGUMENT",
"message": "Geçersiz imleç.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}{
"code": "INVALID_ARGUMENT",
"message": "Geçersiz imleç."
}{
"errors": {
"assetId": ["Değer 'a' geçerli değil."]
},
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"title": "Bir veya daha fazla doğrulama hatası oluştu.",
"status": 400,
"extensions": {
"traceId": "00-427917f0fc3b8375ee33e4603a7f0693-f3f6ad560ff1a122-00"
}
}v1 hata kodları
Aşağıdaki tablo, v1 API yanıtlarında error veya code için olası değerleri tanımlar:
| HTTP Durum Kodu | Hata | Açıklamalar |
|---|---|---|
| 400 | INVALID_ARGUMENT | Geçersiz bir argüman geçtiniz, örneğin geçersiz bir universeId. Ayrıca, Content-Length ve Content-Type gibi eksik veya geçersiz başlıklarınız olabilir. |
| 403 | INSUFFICIENT_SCOPE | İstek, erişim tokeni tarafından sağlanan yetkilerden daha yüksek ayrıcalıklar gerektirir. |
| 403 | PERMISSION_DENIED | İsteğiniz, işlemi gerçekleştirmek için yeterli kapsam içermiyor. |
| 404 | NOT_FOUND | Sistem, belirttiğiniz kaynakları bulamıyor, örneğin bir veri mağazası. |
| 409 | ABORTED | İşlem, bir çelişki nedeniyle iptal edildi, örneğin evrende yer almayan bir yeri yayınlamaya çalışmak. |
| 429 | RESOURCE_EXHAUSTED | İşlemi gerçekleştirmek için yeterli kotalarınız yok, genellikle çok fazla istek gönderilmesi nedeniyle. |
| 499 | CANCELLED | Sistem isteği sonlandırdı, genellikle istemci tarafı zaman aşımı nedeniyle. |
| 500 | INTERNAL | Sunucu hatası. Genellikle bir sunucu hatasıdır. |
| 501 | NOT_IMPLEMENTED | Sunucu API metodunu uygulamıyor. |
| 503 | UNAVAILABLE | Hizmet mevcut değil. Genellikle sunucu kapalıdır. |