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

סטטוס

סוג Status מגדיר מודל שגיאות לוגית שמתאים לסביבות תכנות שונות, כולל API ל-REST וממשקי API של RPC. הוא נמצא בשימוש של gRPC. כל הודעת Status מכילה שלושה קטעי נתונים: קוד שגיאה, הודעת שגיאה ופרטי שגיאה.

מידע נוסף על מודל השגיאה הזה ועל אופן הפעולה שלו זמין במדריך לעיצוב 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" }