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 ได้

ช่องการรวม result ผลการดำเนินการ ซึ่งอาจเป็น error หรือ response ที่ถูกต้องก็ได้ หาก done == false จะไม่มีการตั้งค่าทั้ง error และ response หาก done == true อาจตั้งค่า error หรือ response ได้ 1 รายการ บริการบางอย่างอาจแสดงผลลัพธ์ไม่ได้ 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" }