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. יכול להיות ששירותים מסוימים לא מספקים את התוצאה. 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" }