Code

Mã lỗi chính tắc cho các API gRPC.

Đôi khi có thể áp dụng nhiều mã lỗi. Các dịch vụ sẽ trả về mã lỗi cụ thể nhất có thể áp dụng. Ví dụ: Ưu tiên OUT_OF_RANGE hơn FAILED_PRECONDITION nếu bạn áp dụng cả hai mã. Tương tự, thích NOT_FOUND hoặc ALREADY_EXISTS hơn FAILED_PRECONDITION.

Enum
OK

Không phải là lỗi; trả về khi thành công.

Ánh xạ HTTP: 200 OK

CANCELLED

Thao tác đã bị hủy, thường là do người gọi.

Bản đồ HTTP: 499 Yêu cầu đã đóng của ứng dụng khách

UNKNOWN

Lỗi không xác định. Ví dụ: hệ thống có thể trả về lỗi này khi một giá trị Status nhận được từ vùng địa chỉ khác thuộc về vùng không gian lỗi không xác định trong vùng địa chỉ này. Ngoài ra, các lỗi do API không trả về đủ thông tin lỗi có thể được chuyển đổi sang lỗi này.

Bản đồ HTTP: Lỗi Máy chủ Nội bộ 500

INVALID_ARGUMENT

Ứng dụng chỉ định một đối số không hợp lệ. Xin lưu ý rằng giá trị này khác với FAILED_PRECONDITION. INVALID_ARGUMENT cho biết các đối số có vấn đề bất kể trạng thái hệ thống là gì (ví dụ: tên tệp không đúng định dạng).

Ánh xạ HTTP: 400 Yêu cầu Không hợp lệ

DEADLINE_EXCEEDED

Thời hạn đã hết trước khi thao tác có thể hoàn tất. Đối với các thao tác thay đổi trạng thái của hệ thống, lỗi này có thể được trả về ngay cả khi thao tác đó đã hoàn tất thành công. Ví dụ: phản hồi thành công từ máy chủ có thể đã bị trì hoãn đủ lâu để hết hạn.

Ánh xạ HTTP: Hết thời gian chờ 504 cổng

NOT_FOUND

Không tìm thấy một số thực thể được yêu cầu (ví dụ: tệp hoặc thư mục).

Lưu ý dành cho các nhà phát triển máy chủ: nếu một yêu cầu bị từ chối đối với toàn bộ lớp người dùng, chẳng hạn như triển khai tính năng dần dần hoặc danh sách cho phép không có trong tài liệu, thì có thể sử dụng NOT_FOUND. Nếu một yêu cầu bị từ chối đối với một số người dùng thuộc một nhóm người dùng, chẳng hạn như tùy chọn kiểm soát quyền truy cập dựa trên người dùng, thì bạn phải sử dụng PERMISSION_DENIED.

Ánh xạ HTTP: 404 Không tìm thấy

ALREADY_EXISTS

Đối tượng mà ứng dụng khách đã cố tạo (ví dụ: tệp hoặc thư mục) đã tồn tại.

Ánh xạ HTTP: Xung đột 409

PERMISSION_DENIED

Phương thức gọi không có quyền thực thi thao tác đã chỉ định. Không được sử dụng PERMISSION_DENIED cho những lần bị từ chối do hết tài nguyên (sử dụng RESOURCE_EXHAUSTED để thay thế cho những lỗi đó). Không được sử dụng PERMISSION_DENIED nếu không thể nhận dạng người gọi (thay vào đó, hãy sử dụng UNAUTHENTICATED cho những lỗi đó). Mã lỗi này không ngụ ý rằng yêu cầu là hợp lệ hoặc đối tượng được yêu cầu tồn tại hay đáp ứng các điều kiện tiên quyết khác.

Ánh xạ HTTP: 403 Forbidden

UNAUTHENTICATED

Yêu cầu không có thông tin xác thực hợp lệ cho thao tác này.

Ánh xạ HTTP: 401 Không được phép

RESOURCE_EXHAUSTED

Một số tài nguyên đã hết, có thể là hạn mức cho mỗi người dùng hoặc có thể toàn bộ hệ thống tệp đã hết dung lượng.

Ánh xạ HTTP: 429 Quá nhiều yêu cầu

FAILED_PRECONDITION

Thao tác bị từ chối vì hệ thống không ở trạng thái bắt buộc để thực thi thao tác. Ví dụ: thư mục cần xóa không được để trống, thao tác rmdir được áp dụng cho thư mục không phải thư mục, v.v.

Trình triển khai dịch vụ có thể sử dụng các nguyên tắc sau để quyết định giữa FAILED_PRECONDITION, ABORTEDUNAVAILABLE: (a) Sử dụng UNAVAILABLE nếu ứng dụng chỉ có thể thử lại cuộc gọi không thành công. (b) Sử dụng ABORTED nếu ứng dụng nên thử lại ở cấp cao hơn. Ví dụ: khi kiểm thử và đặt do ứng dụng chỉ định không thành công, cho biết ứng dụng cần khởi động lại một trình tự đọc-sửa đổi-ghi. (c) Sử dụng FAILED_PRECONDITION nếu ứng dụng không nên thử lại cho đến khi trạng thái hệ thống được khắc phục một cách rõ ràng. Ví dụ: nếu "rmdir" không thành công vì thư mục không trống, thì FAILED_PRECONDITION sẽ được trả về vì ứng dụng không nên thử lại trừ khi các tệp bị xoá khỏi thư mục.

Ánh xạ HTTP: 400 Yêu cầu Không hợp lệ

ABORTED

Thao tác này đã bị huỷ bỏ, thường là do một vấn đề đồng thời, chẳng hạn như lỗi kiểm tra trình tự hoặc hủy giao dịch.

Xem các nguyên tắc ở trên để quyết định giữa FAILED_PRECONDITION, ABORTEDUNAVAILABLE.

Ánh xạ HTTP: Xung đột 409

OUT_OF_RANGE

Thao tác đã được thử quá phạm vi hợp lệ. Ví dụ: tìm hoặc đọc phần cuối của tệp.

Không giống như INVALID_ARGUMENT, lỗi này cho biết sự cố có thể được khắc phục nếu trạng thái hệ thống thay đổi. Ví dụ: hệ thống tệp 32 bit sẽ tạo INVALID_ARGUMENT nếu được yêu cầu đọc ở độ lệch không nằm trong phạm vi [0,2^32-1], nhưng nó sẽ tạo OUT_OF_RANGE nếu được yêu cầu đọc từ độ lệch vượt quá kích thước tệp hiện tại.

Có một chút trùng lặp giữa FAILED_PRECONDITIONOUT_OF_RANGE. Bạn nên sử dụng OUT_OF_RANGE (lỗi cụ thể hơn) khi phương thức này được áp dụng để những phương thức gọi lặp lại trong một không gian có thể dễ dàng tìm ra lỗi OUT_OF_RANGE nhằm phát hiện khi nào kết thúc.

Ánh xạ HTTP: 400 Yêu cầu Không hợp lệ

UNIMPLEMENTED

Thao tác này không được triển khai hoặc không được hỗ trợ/bật trong dịch vụ này.

Ánh xạ HTTP: 501 Chưa được triển khai

INTERNAL

Lỗi nội bộ. Điều này có nghĩa là một số bất biến do hệ thống cơ bản dự kiến đã bị hỏng. Mã lỗi này được dành riêng cho các lỗi nghiêm trọng.

Bản đồ HTTP: Lỗi Máy chủ Nội bộ 500

UNAVAILABLE

Dịch vụ này hiện không dùng được. Đây rất có thể là một tình trạng thoáng qua, có thể được khắc phục bằng cách thử lại bằng thuật toán thời gian đợi. Lưu ý rằng không phải lúc nào bạn cũng có thể thử lại các thao tác không xác định.

Xem các nguyên tắc ở trên để quyết định giữa FAILED_PRECONDITION, ABORTEDUNAVAILABLE.

Bản đồ HTTP: 503 Dịch vụ không khả dụng

DATA_LOSS

Mất hoặc hỏng dữ liệu không thể phục hồi.

Bản đồ HTTP: Lỗi Máy chủ Nội bộ 500