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

ฟิลด์สหภาพ 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 ด้วย ระบบจะใช้กำหนดเวลาที่สั้นกว่า