Package google.longrunning

ดัชนี

การดำเนินการ

จัดการการดำเนินการที่ใช้เวลานานด้วยบริการ API

เมื่อเมธอด API ใช้เวลานานกว่าปกติในการดำเนินการให้เสร็จสมบูรณ์ ก็สามารถออกแบบให้ส่งคืน Operation ไปยังไคลเอ็นต์ได้ และไคลเอ็นต์สามารถใช้อินเทอร์เฟซนี้เพื่อรับการตอบกลับจริงแบบไม่พร้อมกันได้โดยการสำรวจทรัพยากรการดำเนินการ หรือส่งทรัพยากรการดำเนินการไปยัง API อื่น (เช่น Pub/Sub API) เพื่อรับการตอบกลับ บริการ API ใดก็ตามที่แสดงผลการดำเนินการที่ใช้เวลานานควรใช้Operationsอินเทอร์เฟซเพื่อให้ผู้พัฒนาได้รับประสบการณ์การใช้งานไคลเอ็นต์ที่สอดคล้องกัน

CancelOperation

rpc CancelOperation(CancelOperationRequest) returns (Empty)

เริ่มการยกเลิกแบบไม่พร้อมกันในการดำเนินการที่ใช้เวลานาน เซิร์ฟเวอร์จะพยายามยกเลิกการดำเนินการอย่างเต็มที่ แต่ไม่รับประกันว่าจะสำเร็จ หากเซิร์ฟเวอร์ไม่รองรับวิธีนี้ ระบบจะแสดง google.rpc.Code.UNIMPLEMENTED ไคลเอ็นต์สามารถใช้ Operations.GetOperation หรือวิธีการอื่นๆ เพื่อตรวจสอบว่าการยกเลิกสำเร็จหรือไม่ หรือการดำเนินการเสร็จสมบูรณ์แม้จะมีการยกเลิกหรือไม่ เมื่อยกเลิกสำเร็จ ระบบจะไม่ลบการดำเนินการ แต่จะเปลี่ยนเป็นการดำเนินการที่มีค่า Operation.error โดยมี google.rpc.Status.code เป็น 1 ซึ่งสอดคล้องกับ Code.CANCELLED

ขอบเขตการให้สิทธิ์

ต้องใช้ขอบเขต OAuth ต่อไปนี้

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

rpc DeleteOperation(DeleteOperationRequest) returns (Empty)

ลบการดำเนินการที่ใช้เวลานาน วิธีนี้บ่งบอกว่าไคลเอ็นต์ไม่สนใจผลการดำเนินการอีกต่อไป แต่จะไม่ยกเลิกการดำเนินการ หากเซิร์ฟเวอร์ไม่รองรับวิธีนี้ ระบบจะแสดง google.rpc.Code.UNIMPLEMENTED

ขอบเขตการให้สิทธิ์

ต้องใช้ขอบเขต OAuth ต่อไปนี้

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

rpc GetOperation(GetOperationRequest) returns (Operation)

รับสถานะล่าสุดของการดำเนินการที่ใช้เวลานาน ไคลเอ็นต์สามารถใช้วิธีนี้เพื่อสำรวจผลการดำเนินการเป็นระยะๆ ตามที่บริการ API แนะนำ

ขอบเขตการให้สิทธิ์

ต้องใช้ขอบเขต OAuth ต่อไปนี้

  • https://www.googleapis.com/auth/cloud-platform
สิทธิ์ IAM

ต้องมีสิทธิ์ IAM ต่อไปนี้ในทรัพยากร name

  • routeoptimization.operations.get

ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบเกี่ยวกับ IAM

ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

แสดงการดำเนินการในรายการที่ตรงกับตัวกรองที่ระบุในคำขอ หากเซิร์ฟเวอร์ไม่รองรับวิธีนี้ ระบบจะแสดง UNIMPLEMENTED

ขอบเขตการให้สิทธิ์

ต้องใช้ขอบเขต OAuth ต่อไปนี้

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

rpc WaitOperation(WaitOperationRequest) returns (Operation)

รอจนกว่าการดำเนินการที่ใช้เวลานานที่ระบุจะเสร็จสิ้นหรือถึงระยะหมดเวลาที่ระบุอย่างน้อยที่สุด โดยจะแสดงสถานะล่าสุด หากดำเนินการเสร็จแล้ว ระบบจะแสดงผลสถานะล่าสุดทันที หากการหมดเวลาที่ระบุมากกว่าการหมดเวลา HTTP/RPC เริ่มต้น ระบบจะใช้การหมดเวลา HTTP/RPC หากเซิร์ฟเวอร์ไม่รองรับวิธีนี้ ระบบจะแสดง google.rpc.Code.UNIMPLEMENTED โปรดทราบว่าวิธีนี้จะดำเนินการในรูปแบบที่เหมาะสมที่สุด โดยอาจแสดงผลสถานะล่าสุดก่อนการหมดเวลาที่ระบุ (รวมถึงทันที) ซึ่งหมายความว่าแม้การตอบกลับทันทีก็ไม่ได้รับประกันว่าการดำเนินการจะเสร็จสมบูรณ์

ขอบเขตการให้สิทธิ์

ต้องใช้ขอบเขต OAuth ต่อไปนี้

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

CancelOperationRequest

ข้อความคำขอสำหรับ Operations.CancelOperation

ช่อง
name

string

ชื่อของทรัพยากรการดำเนินการที่จะยกเลิก

DeleteOperationRequest

ข้อความคำขอสำหรับ Operations.DeleteOperation

ช่อง
name

string

ชื่อของทรัพยากรการดำเนินการที่จะลบ

GetOperationRequest

ข้อความคำขอสำหรับ Operations.GetOperation

ช่อง
name

string

ชื่อของทรัพยากรการดำเนินการ

ListOperationsRequest

ข้อความคำขอสำหรับ Operations.ListOperations

ช่อง
name

string

ชื่อของทรัพยากรหลักของการดำเนินการ

filter

string

ตัวกรองรายการมาตรฐาน

page_size

int32

ขนาดหน้าของรายการมาตรฐาน

page_token

string

โทเค็นหน้าของรายการมาตรฐาน

ListOperationsResponse

ข้อความตอบกลับสำหรับ Operations.ListOperations

ช่อง
operations[]

Operation

รายการการดำเนินการที่ตรงกับตัวกรองที่ระบุในคำขอ

next_page_token

string

โทเค็นหน้าถัดไปของรายการมาตรฐาน

การดำเนินการ

ทรัพยากรนี้แสดงการดำเนินการที่ใช้เวลานานซึ่งเป็นผลลัพธ์ของการเรียก API เครือข่าย

ช่อง
name

string

ชื่อที่เซิร์ฟเวอร์กำหนด ซึ่งจะไม่ซ้ำกันภายในบริการเดียวกันที่แสดงผลชื่อนั้นในตอนแรกเท่านั้น หากใช้การแมป HTTP เริ่มต้น name ควรเป็นชื่อทรัพยากรที่ลงท้ายด้วย operations/{unique_id}

metadata

Any

ข้อมูลเมตาเฉพาะบริการที่เชื่อมโยงกับการดำเนินการ โดยปกติแล้วจะมีข้อมูลความคืบหน้าและข้อมูลเมตาทั่วไป เช่น เวลาที่สร้าง บริการบางอย่างอาจไม่มีข้อมูลเมตาดังกล่าว เมธอดที่แสดงผลการดำเนินการที่ใช้เวลานานควรบันทึกประเภทข้อมูลเมตา (หากมี)

done

bool

หากค่าเป็น false แสดงว่าการดำเนินการยังอยู่ระหว่างดำเนินการ หากเป็น true การดำเนินการจะเสร็จสมบูรณ์ และจะมี error หรือ response ให้ใช้งาน

ฟิลด์ Union result ผลลัพธ์ของการดำเนินการ ซึ่งอาจเป็น error หรือ response ที่ถูกต้อง หาก done == false จะไม่มีการตั้งค่า error หรือ response หาก done == true จะตั้งค่า error หรือ response ได้เพียงอย่างเดียว บริการบางอย่างอาจไม่แสดงผลลัพธ์ result ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
error

Status

ผลลัพธ์ข้อผิดพลาดของการดำเนินการในกรณีที่ล้มเหลวหรือยกเลิก

response

Any

การตอบกลับตามปกติที่สำเร็จของการดำเนินการ หากเมธอดเดิมไม่แสดงข้อมูลเมื่อสำเร็จ เช่น Delete การตอบกลับจะเป็น google.protobuf.Empty หากเมธอดเดิมเป็นมาตรฐาน Get/Create/Update การตอบกลับควรเป็นทรัพยากร สำหรับเมธอดอื่นๆ การตอบกลับควรมีประเภท XxxResponse โดยที่ Xxx คือชื่อเมธอดเดิม เช่น หากชื่อเมธอดเดิมคือ TakeSnapshot() ประเภทการตอบกลับที่อนุมานจะเป็น TakeSnapshotResponse

WaitOperationRequest

ข้อความคำขอสำหรับ Operations.WaitOperation

ช่อง
name

string

ชื่อของทรัพยากรการดำเนินการที่จะรอ

timeout

Duration

ระยะเวลารอสูงสุดก่อนหมดเวลา หากเว้นว่างไว้ การรอจะนานที่สุดเท่าที่โปรโตคอล HTTP/RPC พื้นฐานอนุญาต หากมีการระบุกำหนดเวลาบริบท RPC ด้วย ระบบจะใช้กำหนดเวลาที่สั้นกว่า