Package google.longrunning

Chỉ mục

Vận hành

Quản lý các hoạt động diễn ra trong thời gian dài bằng dịch vụ API.

Khi một phương thức API thường mất nhiều thời gian để hoàn thành, có thể thiết kế để trả về Operation cho máy khách. Đồng thời, máy khách có thể sử dụng giao diện này để nhận phản hồi thực một cách không đồng bộ bằng cách thăm dò tài nguyên thao tác hoặc truyền tài nguyên thao tác sang một API khác (chẳng hạn như API Pub/Sub) để nhận phản hồi. Mọi dịch vụ API trả về các hoạt động diễn ra trong thời gian dài đều phải triển khai giao diện Operations để các nhà phát triển có thể có được trải nghiệm khách hàng nhất quán.

Huỷ Thao tác

rpc CancelOperation(CancelOperationRequest) returns (Empty)

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. Máy chủ sẽ cố gắng hết sức để huỷ thao tác nhưng không đảm bảo thành công. Nếu máy chủ không hỗ trợ phương thức này thì hệ thống sẽ trả về google.rpc.Code.UNIMPLEMENTED. Ứng dụng có thể sử dụng Operations.GetOperation hoặc các phương thức khác để kiểm tra xem quá trình huỷ có thành công hay không hoặc liệu thao tác đã hoàn tất hay chưa mặc dù đã huỷ. Khi huỷ thành công, thao tác sẽ không bị xoá; thay vào đó, nó sẽ trở thành một thao tác có giá trị Operation.errorgoogle.rpc.Status.code là 1, tương ứng với Code.CANCELLED.

Phạm vi uỷ quyền

Yêu cầu một trong các phạm vi OAuth sau:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Để biết thêm thông tin, hãy xem bài viết Tổng quan về việc xác thực.

Thao tác xoá

rpc DeleteOperation(DeleteOperationRequest) returns (Empty)

Xoá một hoạt động diễn ra trong thời gian dài. Phương thức này cho biết rằng khách hàng không còn quan tâm đến kết quả hoạt động nữa. Thao tác này không huỷ hoạt động đó. Nếu máy chủ không hỗ trợ phương thức này thì hệ thống sẽ trả về google.rpc.Code.UNIMPLEMENTED.

Phạm vi uỷ quyền

Yêu cầu một trong các phạm vi OAuth sau:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Để biết thêm thông tin, hãy xem bài viết Tổng quan về việc xác thực.

GetOperation

rpc GetOperation(GetOperationRequest) returns (Operation)

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. Ứng dụng có thể sử dụng phương thức này để thăm dò kết quả hoạt động theo đề xuất của dịch vụ API.

Phạm vi uỷ quyền

Yêu cầu một trong các phạm vi OAuth sau:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Để biết thêm thông tin, hãy xem bài viết Tổng quan về việc xác thực.

Hoạt động List

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

Liệt kê những thao tác khớp với bộ lọc đã chỉ định trong yêu cầu. Nếu máy chủ không hỗ trợ phương thức này thì hệ thống sẽ trả về UNIMPLEMENTED.

Phạm vi uỷ quyền

Yêu cầu một trong các phạm vi OAuth sau:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Để biết thêm thông tin, hãy xem bài viết Tổng quan về việc xác thực.

Hoạt động chờ

rpc WaitOperation(WaitOperationRequest) returns (Operation)

Chờ cho đến khi hoạt động được chỉ định diễn ra trong thời gian dài được hoàn tất hoặc đạt tối đa một thời gian chờ đã chỉ định, trả về trạng thái mới nhất. Nếu thao tác đã được thực hiện, trạng thái mới nhất sẽ ngay lập tức được trả về. Nếu thời gian chờ được chỉ định lớn hơn thời gian chờ mặc định của HTTP/RPC, thì thời gian chờ của HTTP/RPC sẽ được sử dụng. Nếu máy chủ không hỗ trợ phương thức này thì hệ thống sẽ trả về google.rpc.Code.UNIMPLEMENTED. Xin lưu ý rằng phương pháp này là tối ưu. Thao tác này có thể trả về trạng thái mới nhất trước thời gian chờ được chỉ định (kể cả ngay lập tức), nghĩa là ngay cả phản hồi tức thì cũng không đảm bảo rằng thao tác sẽ được thực hiện.

Phạm vi uỷ quyền

Yêu cầu một trong các phạm vi OAuth sau:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Để biết thêm thông tin, hãy xem bài viết Tổng quan về việc xác thực.

CancelOperationRequest

Thông báo yêu cầu dành cho Operations.CancelOperation.

Trường
name

string

Tên của tài nguyên thao tác sẽ bị huỷ.

Yêu cầu DeleteOperation

Thông báo yêu cầu dành cho Operations.DeleteOperation.

Trường
name

string

Tên của tài nguyên thao tác cần xoá.

Yêu cầu GetOperationRequest

Thông báo yêu cầu dành cho Operations.GetOperation.

Trường
name

string

Tên của tài nguyên toán tử.

Yêu cầu vận hành danh sách

Thông báo yêu cầu dành cho Operations.ListOperations.

Trường
name

string

Tên tài nguyên mẹ của toán tử.

filter

string

Bộ lọc danh sách chuẩn.

page_size

int32

Kích thước trang danh sách chuẩn.

page_token

string

Mã thông báo của trang danh sách chuẩn.

Phản hồi ListOperations

Tin nhắn phản hồi cho Operations.ListOperations.

Trường
operations[]

Operation

Danh sách các thao tác phù hợp với bộ lọc đã chỉ định trong yêu cầu.

next_page_token

string

Mã thông báo trang tiếp theo cho danh sách tiêu chuẩ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.

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ục ánh xạ HTTP mặc định, name phải là tên tài nguyên kết thúc bằng operations/{unique_id}.

metadata

Any

Siêu dữ liệu dành riêng cho dịch vụ được 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 hoạt động diễn ra trong thời gian dài đều phải ghi nhận loại siêu dữ liệu (nếu có).

done

bool

Nếu giá trị là false, điều đó có nghĩa 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 thao tác, 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 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

Status

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

response

Any

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 gốc là phương thức chuẩn Get/Create/Update, 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ó kiểu 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.

Yêu cầu WaitOperationRequest

Thông báo yêu cầu dành cho Operations.WaitOperation.

Trường
name

string

Tên của tài nguyên thao tác cần chờ.

timeout

Duration

Khoảng thời gian tối đa phải chờ trước khi hết thời gian chờ. Nếu để trống, thời gian chờ sẽ tối đa là thời gian mà giao thức HTTP/RPC cơ bản cho phép. Nếu thời hạn theo bối cảnh RPC cũng được chỉ định, thì thời hạn ngắn hơn sẽ được sử dụng.