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" }

สถานะ

ประเภท Status จะกําหนดรูปแบบข้อผิดพลาดเชิงตรรกะที่เหมาะกับสภาพแวดล้อมการเขียนโปรแกรมแบบต่างๆ ซึ่งรวมถึง REST API และ RPC API ใช้โดย gRPC ข้อความ Status แต่ละข้อความประกอบด้วยข้อมูล 3 ส่วน ได้แก่ รหัสข้อผิดพลาด ข้อความแสดงข้อผิดพลาด และรายละเอียดข้อผิดพลาด

คุณสามารถดูข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบข้อผิดพลาดนี้และวิธีจัดการกับรูปแบบนี้ได้ในคู่มือการออกแบบ API

การแสดง JSON
{
  "code": number,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
ช่อง
code

number

รหัสสถานะ ซึ่งควรเป็นค่า Enum ของ google.rpc.Code

message

string

ข้อความแสดงข้อผิดพลาดสําหรับนักพัฒนาซอฟต์แวร์ซึ่งเป็นภาษาอังกฤษ ข้อความแสดงข้อผิดพลาดที่ผู้ใช้มองเห็นได้ ควรแปลและส่งไปยังช่อง google.rpc.Status.details หรือลูกค้าแปลเป็นภาษาท้องถิ่น

details[]

object

รายการข้อความที่มีรายละเอียดข้อผิดพลาด มีชุดประเภทข้อความที่พบบ่อยสําหรับ API

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