Operation

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

ตัวแทน JSON
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // Union field result can be only one of the following:
  "error": {
    object(Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of list of possible types for union field result.
}
ทุ่งนา
name

string

ชื่อที่กำหนดโดยเซิร์ฟเวอร์ ซึ่งไม่ซ้ำกันภายในบริการที่ส่งคืนในตอนแรกเท่านั้น ถ้าคุณใช้ HTTP เริ่มต้นการทำแผนที่ที่ name ควรจะมีรูปแบบของ operations/some/unique/name

metadata

object

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

ออบเจ็กต์ที่มีฟิลด์ของประเภทที่กำหนดเอง เพิ่มเติมข้อมูล "@type" มี URI ระบุชนิด ตัวอย่าง: { "id": 1234, "@type": "types.example.com/standard/id" }

done

boolean

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

สาขายูเนี่ยน result ผลการดำเนินงานซึ่งสามารถเป็นได้ทั้ง error หรือถูกต้อง response ถ้า done == false ไม่ error หรือ response เป็นชุด ถ้า done == true ว่าหนึ่งใน error หรือ response เป็นชุด result สามารถมีได้เพียงหนึ่งต่อไปนี้:
error

object( Status )

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

response

object

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

ออบเจ็กต์ที่มีฟิลด์ของประเภทที่กำหนดเอง เพิ่มเติมข้อมูล "@type" มี URI ระบุชนิด ตัวอย่าง: { "id": 1234, "@type": "types.example.com/standard/id" }