Các phần sau đây mô tả cách xử lý lỗi cho các API Đám Mây Mở. Do những khác biệt trong việc thực hiện giữa các điểm cuối và các lớp xác thực, các phản hồi lỗi có thể khác biệt đáng kể về định dạng.
Lỗi Gateway
Đối với các vấn đề xác thực hoặc định tuyến, cả hai API Đám Mây Mở v1 và v2 có thể trả về lỗi theo định dạng này:
Ví dụ lỗi gateway
{
"errors": [
{
"code": 0,
"message": "API Key không hợp lệ"
}
]
}
Đám Mây Mở v2
Các API Đám Mây Mở v2 thường theo một định dạng lỗi nhất quán khi lỗi xảy ra bên trong chính điểm cuối API.
Định dạng lỗi chuẩn v2
Các API Đám Mây Mở v2 trả về lỗi theo định dạng này:
- code - Một chuỗi biểu thị loại lỗi (ví dụ: INVALID_ARGUMENT, NOT_FOUND).
- message - Một thông điệp có thể đọc được bởi người dùng giải thích lỗi.
- details - Một mảng tùy chọn chứa thông tin bổ sung cụ thể cho lỗi.
Ví dụ lỗi v2
{
"code": "INVALID_ARGUMENT",
"message": "ID người dùng không hợp lệ trong yêu cầu."
}
Ví dụ lỗi v2 với chi tiết
{
"code": "INVALID_ARGUMENT",
"message": "Bộ lọc được cung cấp không hợp lệ.",
"details": [
{
...
}
]
}
Mã lỗi v2
Bảng sau đây mô tả các giá trị khả thi cho code trong các phản hồi API v2.
| Mã | HTTP Status | Mô tả |
|---|---|---|
| INVALID_ARGUMENT | 400 | Bạn đã truyền một tham số không hợp lệ, chẳng hạn như universeId không hợp lệ. Bạn cũng có thể thiếu hoặc có tiêu đề không hợp lệ, chẳng hạn như Content-Length và Content-Type. |
| PERMISSION_DENIED | 403 | Yêu cầu của bạn không có đủ quyền hạn hoặc phạm vi để thực hiện thao tác. |
| NOT_FOUND | 404 | Hệ thống không thể tìm thấy các tài nguyên bạn đã chỉ định, chẳng hạn như một ghi chép trong kho dữ liệu. |
| ABORTED | 409 | Thao tác đã bị hủy bỏ. |
| RESOURCE_EXHAUSTED | 429 | Bạn không có đủ hạn mức để thực hiện thao tác, thường do gửi quá nhiều yêu cầu. |
| CANCELLED | 499 | Hệ thống đã kết thúc yêu cầu, thường do thời gian chờ phía máy khách. |
| INTERNAL | 500 | Lỗi máy chủ nội bộ, thường do lỗi máy chủ. |
| NOT_IMPLEMENTED | 501 | Máy chủ không triển khai phương thức API. |
| UNAVAILABLE | 503 | Dịch vụ không khả dụng, thường được trả về khi máy chủ bị xuống. |
Đám Mây Mở v1
Các API Đám Mây Mở v1 có các định dạng phản hồi lỗi không nhất quán. Định dạng phụ thuộc vào điểm cuối cụ thể, loại lỗi, và nơi lỗi xảy ra trong quá trình xử lý yêu cầu.
Hầu hết các điểm cuối v1 trả về lỗi theo một trong ba định dạng này:
Ví dụ lỗi v1 với trường lỗi
{
"error": "INVALID_ARGUMENT",
"message": "Con trỏ không hợp lệ.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
Ví dụ lỗi v1 với trường mã
{
"code": "INVALID_ARGUMENT",
"message": "Con trỏ không hợp lệ."
}
Ví dụ lỗi xác thực chi tiết v1
{
"errors": {
"assetId": ["Giá trị 'a' không hợp lệ."]
},
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"title": "Một hoặc nhiều lỗi xác thực đã xảy ra.",
"status": 400,
"extensions": {
"traceId": "00-427917f0fc3b8375ee33e4603a7f0693-f3f6ad560ff1a122-00"
}
}
Mã lỗi v1
Bảng sau đây mô tả các giá trị khả thi cho error hoặc code trong các phản hồi API v1:
| Mã Trạng Thái HTTP | Lỗi | Mô tả |
|---|---|---|
| 400 | INVALID_ARGUMENT | Bạn đã truyền một tham số không hợp lệ, chẳng hạn như universeId không hợp lệ. Bạn cũng có thể thiếu hoặc có tiêu đề không hợp lệ, chẳng hạn như Content-Length và Content-Type. |
| 403 | INSUFFICIENT_SCOPE | Yêu cầu đòi hỏi quyền cao hơn mức được cung cấp bởi mã thông báo truy cập. |
| 403 | PERMISSION_DENIED | Yêu cầu của bạn không có đủ phạm vi để thực hiện thao tác. |
| 404 | NOT_FOUND | Hệ thống không thể tìm thấy các tài nguyên bạn đã chỉ định, chẳng hạn như một kho dữ liệu. |
| 409 | ABORTED | Thao tác đã bị hủy bỏ do xung đột, chẳng hạn như phát hành một địa điểm không thuộc vũ trụ. |
| 429 | RESOURCE_EXHAUSTED | Bạn không có đủ hạn mức để thực hiện thao tác, thường do gửi quá nhiều yêu cầu. |
| 499 | CANCELLED | Hệ thống đã kết thúc yêu cầu, thường do thời gian chờ phía máy khách. |
| 500 | INTERNAL | Lỗi máy chủ nội bộ. Thường là một lỗi máy chủ. |
| 501 | NOT_IMPLEMENTED | Máy chủ không triển khai phương thức API. |
| 503 | UNAVAILABLE | Dịch vụ không khả dụng. Thường là do máy chủ bị xuống. |