ดัชนี
- Operations(อินเทอร์เฟซ)
- CancelOperationRequest(ข้อความ)
- DeleteOperationRequest(ข้อความ)
- GetOperationRequest(ข้อความ)
- ListOperationsRequest(ข้อความ)
- ListOperationsResponse(ข้อความ)
- Operation(ข้อความ)
- WaitOperationRequest(ข้อความ)
การดำเนินการ
จัดการการดำเนินการที่ใช้เวลานานด้วยบริการ API
เมื่อเมธอด API ใช้เวลานานในการดำเนินการให้เสร็จสมบูรณ์ตามปกติ ก็สามารถออกแบบให้แสดงผล Operation แก่ไคลเอ็นต์ได้ และไคลเอ็นต์จะใช้อินเทอร์เฟซนี้เพื่อรับการตอบกลับจริงแบบไม่พร้อมกันได้โดยการปลุกทรัพยากรการดำเนินการ หรือส่งทรัพยากรการดำเนินการไปยัง API อื่น (เช่น Pub/Sub API) เพื่อรับการตอบกลับ บริการ API ที่แสดงผลการดำเนินการที่ทำงานเป็นเวลานานควรใช้อินเทอร์เฟซ Operations เพื่อให้นักพัฒนาซอฟต์แวร์ได้รับประสบการณ์การใช้งานไคลเอ็นต์ที่สอดคล้องกัน
| CancelOperation | 
|---|
| 
 เริ่มการยกเลิกแบบไม่พร้อมกันในการดำเนินการที่ใช้เวลานาน เซิร์ฟเวอร์จะพยายามยกเลิกการดำเนินการอย่างเต็มที่ แต่ไม่ได้รับประกันว่าจะสำเร็จ หากเซิร์ฟเวอร์ไม่รองรับวิธีนี้ ระบบจะแสดงผลเป็น  
 | 
| DeleteOperation | 
|---|
| 
 ลบการดำเนินการที่ทำงานเป็นเวลานาน วิธีนี้บ่งบอกว่าลูกค้าไม่สนใจผลลัพธ์ของการดำเนินการอีกต่อไป แต่จะไม่ยกเลิกการดำเนินการ หากเซิร์ฟเวอร์ไม่รองรับวิธีนี้ ระบบจะแสดงผลเป็น  
 | 
| GetOperation | 
|---|
| 
 รับสถานะล่าสุดของการดำเนินการที่ใช้เวลานาน ไคลเอ็นต์สามารถใช้เมธอดนี้เพื่อสอบถามผลการดำเนินการเป็นระยะๆ ตามคำแนะนำของบริการ API 
 
 | 
| ListOperations | 
|---|
| 
 แสดงรายการการดำเนินการที่ตรงกับตัวกรองที่ระบุในคำขอ หากเซิร์ฟเวอร์ไม่รองรับวิธีนี้ ระบบจะแสดงผลเป็น  
 | 
| WaitOperation | 
|---|
| 
 รอจนกว่าการดำเนินการที่ใช้เวลานานซึ่งระบุไว้จะเสร็จสิ้นหรือถึงระยะหมดเวลาที่ระบุไว้เป็นอย่างช้าที่สุด แล้วแสดงสถานะล่าสุด หากดำเนินการเสร็จแล้ว ระบบจะแสดงสถานะล่าสุดทันที หากการหมดเวลาที่ระบุนานกว่าการหมดเวลา HTTP/RPC เริ่มต้น ระบบจะใช้การหมดเวลา HTTP/RPC หากเซิร์ฟเวอร์ไม่รองรับวิธีนี้ ระบบจะแสดงผลเป็น  
 | 
CancelOperationRequest
ข้อความคำขอสำหรับ Operations.CancelOperation
| ช่อง | |
|---|---|
| name | 
 ชื่อของทรัพยากรการดำเนินการที่จะยกเลิก | 
DeleteOperationRequest
ข้อความคำขอสำหรับ Operations.DeleteOperation
| ช่อง | |
|---|---|
| name | 
 ชื่อของทรัพยากรการดำเนินการที่จะลบ | 
GetOperationRequest
ข้อความคำขอสำหรับ Operations.GetOperation
| ช่อง | |
|---|---|
| name | 
 ชื่อของทรัพยากรการดำเนินการ | 
ListOperationsRequest
ข้อความคำขอสำหรับ Operations.ListOperations
| ช่อง | |
|---|---|
| name | 
 ชื่อทรัพยากรหลักของการดำเนินการ | 
| filter | 
 ตัวกรองรายการมาตรฐาน | 
| page_ | 
 ขนาดหน้ารายการมาตรฐาน | 
| page_ | 
 โทเค็นหน้ารายการมาตรฐาน | 
ListOperationsResponse
ข้อความตอบกลับสำหรับ Operations.ListOperations
| ช่อง | |
|---|---|
| operations[] | รายการการดำเนินการที่ตรงกับตัวกรองที่ระบุในคำขอ | 
| next_ | 
 โทเค็นหน้าถัดไปของรายการมาตรฐาน | 
การดำเนินการ
ทรัพยากรนี้แสดงการดำเนินการที่ใช้เวลานานซึ่งเป็นผลจากการเรียก API ของเครือข่าย
| ช่อง | |
|---|---|
| name | 
 ชื่อที่เซิร์ฟเวอร์กำหนด ซึ่งจะซ้ำกันเฉพาะภายในบริการเดียวกันกับที่แสดงผลในตอนแรก หากคุณใช้การแมป HTTP เริ่มต้น  | 
| metadata | ข้อมูลเมตาเฉพาะบริการที่เชื่อมโยงกับการดำเนินการ โดยปกติแล้วจะมีข้อมูลความคืบหน้าและข้อมูลเมตาทั่วไป เช่น เวลาสร้าง บริการบางอย่างอาจไม่มีข้อมูลเมตาดังกล่าว เมธอดที่แสดงผลการดำเนินการที่ใช้เวลานานควรบันทึกประเภทข้อมูลเมตา (หากมี) | 
| done | 
 หากค่าคือ  | 
| ฟิลด์สหภาพ resultผลลัพธ์ของการดำเนินการ ซึ่งอาจเป็นerrorหรือresponseที่ถูกต้อง หากdone==falseระบบจะไม่ตั้งค่าerrorหรือresponseหากdone==trueคุณจะตั้งค่าerrorหรือresponseได้เพียงรายการเดียว บริการบางอย่างอาจไม่แสดงผลลัพธ์resultต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น | |
| error | ผลลัพธ์ข้อผิดพลาดของการดำเนินการในกรณีที่ดำเนินการไม่สำเร็จหรือยกเลิก | 
| response | การตอบกลับที่ปกติและสำเร็จของการดำเนินการ หากเมธอดเดิมไม่แสดงข้อมูลเกี่ยวกับความสําเร็จ เช่น  | 
WaitOperationRequest
ข้อความคำขอสำหรับ Operations.WaitOperation
| ช่อง | |
|---|---|
| name | 
 ชื่อของทรัพยากรการดำเนินการที่จะรอ | 
| timeout | ระยะเวลาสูงสุดที่จะรอก่อนที่จะหมดเวลา หากเว้นว่างไว้ ระบบจะรอไม่เกินเวลาที่โปรโตคอล HTTP/RPC ที่เกี่ยวข้องอนุญาต หากมีการระบุกำหนดเวลาของบริบท RPC ด้วย ระบบจะใช้กำหนดเวลาที่สั้นกว่า |