Operation

Tài nguyên này thể hiện một tác vụ lâu dài là kết quả của một 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.
}
Các 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ụ trả về tên này. Nếu bạn sử dụng tính năng ánh xạ HTTP mặc định, thì 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 toán tử. Dữ liệu này thường chứa thông tin về tiến trình và siêu dữ liệu phổ biến, chẳng hạ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. Bất kỳ phương thức nào trả về một thao tác dài hạn đều phải ghi lại loại siêu dữ liệu đó (nếu có).

Đối tượng chứa các trường thuộc loại tùy ý. Một trường khác "@type" chứa URI xác định loại. 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 true, thì thao tác đã hoàn tất và bạn có thể sử dụng error hoặc response.

Trường liên kết result. Kết quả hoạt động, có thể là error hoặc response hợp lệ. Nếu done == false, cả errorresponse đều không được đặt. Nếu done == true, bạn có thể đặt chính xác một trong hai 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 giá trị sau:
error

object (Status)

Kết quả lỗi nếu thao tác bị lỗi hoặc huỷ.

response

object

Phản hồi thông thường của thao tác trong trường hợp thành công. Nếu phương thức ban đầu không trả về dữ liệu nào thành công, chẳng hạn như Delete, thì phản hồi là google.protobuf.Empty. Nếu phương thức ban đầu là Get/Create/Update 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 dự đoán là TakeSnapshotResponse.

Đối tượng chứa các trường thuộc loại tùy ý. Một trường khác "@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ô hình lỗi logic phù hợp với các môi trường lập trình khác nhau, bao gồm cả API REST và API RPC. gRPC sử dụng hàm này. Mỗi thông báo Status chứa ba phần dữ liệu: mã lỗi, thông báo lỗi và chi tiết lỗi.

Bạn có thể tìm hiểu thêm về mô hình lỗi này và cách làm việc với mô hình này 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: ...,
      ...
    }
  ]
}
Các trường
code

integer

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

message

string

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

details[]

object

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

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