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/{unique_id}

metadata

object

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

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

done

boolean

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

ช่อง Union 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" }