REST Resource: operations

แหล่งข้อมูล: การดำเนินการ

ทรัพยากรนี้แสดงการดำเนินการที่ใช้เวลานานซึ่งเป็นผลจากการเรียก 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" }

สถานะ

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

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

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

integer

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

message

string

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

details[]

object

รายการข้อความที่มีรายละเอียดข้อผิดพลาด มีชุดประเภทข้อความทั่วไปสำหรับ API ต่างๆ ที่จะใช้ได้

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

เมธอด

cancel

เริ่มการยกเลิกแบบไม่พร้อมกันในการดำเนินการที่ใช้เวลานาน

delete

ลบการดำเนินการที่ใช้เวลานาน

get

รับสถานะล่าสุดของการดำเนินการที่ใช้เวลานาน

list

แสดงรายการการดำเนินการที่ตรงกับตัวกรองที่ระบุในคำขอ