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