REST Resource: operations

Tài nguyên: Hoạt động

Tài nguyên này biểu thị một hoạt động chạy trong thời gian dài là kết quả của lệnh gọi API mạng.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // Union field result can be only one of the following:
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of list of possible types for union field result.
}
Trường
name

string

Tên do máy chủ chỉ định. Tên này chỉ là duy nhất trong cùng một dịch vụ ban đầu trả về tên đó. Nếu bạn sử dụng mối liên kết HTTP mặc định, name phải là tên tài nguyên kết thúc bằng operations/{unique_id}.

metadata

object

Siêu dữ liệu dành riêng cho dịch vụ liên kết với thao tác. Tệp này thường chứa thông tin về tiến trình và siêu dữ liệu phổ biến như thời gian tạo. Một số dịch vụ có thể không cung cấp siêu dữ liệu như vậy. Mọi phương thức trả về một thao tác chạy trong thời gian dài đều phải ghi lại loại siêu dữ liệu (nếu có).

Một đối tượng có chứa các trường thuộc loại tuỳ ý. Trường bổ sung "@type" chứa URI xác định kiểu. Ví dụ: { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

Nếu giá trị là false, thì tức là thao tác vẫn đang diễn ra. Nếu là true, thao tác này sẽ hoàn tất và có thể dùng được error hoặc response.

Trường kết hợp result. Kết quả của phép toán, có thể là error hoặc response hợp lệ. Nếu done == false, thì cả errorresponse đều không được đặt. Nếu done == true, bạn chỉ có thể đặt chính xác một trong hai giá trị error hoặc response. Một số dịch vụ có thể không cung cấp kết quả. result chỉ có thể là một trong những trạng thái sau đây:
error

object (Status)

Kết quả lỗi của thao tác trong trường hợp không thành công hoặc bị huỷ.

response

object

Phản hồi thành công, bình thường của thao tác. Nếu phương thức ban đầu không trả về dữ liệu nào khi thành công, chẳng hạn như Delete, thì phản hồi sẽ là google.protobuf.Empty. Nếu phương thức ban đầu là Get/Create/Update tiêu chuẩn, thì phản hồi phải là tài nguyên. Đối với các phương thức khác, phản hồi phải có loại XxxResponse, trong đó Xxx là tên phương thức ban đầu. Ví dụ: nếu tên phương thức ban đầu là TakeSnapshot(), thì loại phản hồi được dự đoán sẽ là TakeSnapshotResponse.

Một đối tượng có chứa các trường thuộc loại tuỳ ý. Một trường bổ sung "@type" chứa URI xác định loại. Ví dụ: { "id": 1234, "@type": "types.example.com/standard/id" }.

Trạng thái

Loại Status xác định một mô hình lỗi logic phù hợp với nhiều môi trường lập trình, bao gồm cả API REST và API RPC. gRPC sử dụng lớp này. Mỗi thông báo Status chứa 3 phần dữ liệu: mã lỗi, thông báo lỗi và thông tin chi tiết về lỗi.

Bạn có thể tìm hiểu thêm về mô hình lỗi này và cách xử lý trong Hướng dẫn thiết kế API.

Biểu diễn dưới dạng JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Trường
code

integer

Mã trạng thái, phải là giá trị enum của google.rpc.Code.

message

string

Thông báo lỗi dành cho nhà phát triển, phải bằng tiếng Anh. Mọi thông báo lỗi dành cho người dùng đều phải được bản địa hoá và gửi trong trường google.rpc.Status.details hoặc để ứng dụng bản địa hoá.

details[]

object

Danh sách thông báo chứa thông tin chi tiết về lỗi. Có một nhóm loại thông báo phổ biến để API sử dụng.

Một đối tượng chứa các trường thuộc một loại tuỳ ý. Trường bổ sung "@type" chứa URI xác định kiểu. Ví dụ: { "id": 1234, "@type": "types.example.com/standard/id" }.

Phương thức

cancel

Bắt đầu quá trình huỷ không đồng bộ đối với một hoạt động diễn ra trong thời gian dài.

delete

Xoá một hoạt động diễn ra trong thời gian dài.

get

Lấy trạng thái mới nhất của một hoạt động chạy trong thời gian dài.

list

Liệt kê các thao tác khớp với bộ lọc đã chỉ định trong yêu cầu.