דגימה של פעולות ממושכות

בדף הזה מוסבר איך לקבוע את סטטוס ההשלמה של שיטות אסינכרוניות. השיטות האלה מחזירות פעולה ממושכת שמספקת מידע על התקדמות הפעולה והסטטוס הסופי שלה.

השיטות הבאות מחזירות פעולה ממושכת:

  • CreateKey
  • UpdateKey
  • DeleteKey
  • UndeleteKey

כשמבצעים בקשה לאחת מהשיטות האלה, אם הבקשה מצליחה, השיטה מחזירה מזהה פעולה בשדה name, שמייצג פעולה מתמשכת בשרת, לדוגמה:

{
  "name": "operations/akmf.6573437d-47c1-42c4-b817-0562f514f6ff"
}

כדי לבדוק את סטטוס הפעולה, משתמשים בשיטה operations.get עם הערך מהשדה name:

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     'https://apikeys.googleapis.com/v2/operations/akmf.6573437d-47c1-42c4-b817-0562f514f6ff'

כדי לדגום פעולה ממושכת מסוימת, מומלץ להפעיל שוב ושוב את השיטה operations.get עם השהיה מומלצת לפני ניסיון חוזר (backoff) של 10 שניות, עד שהתגובה כוללת את "done": true:

{
  "name": "operations/akmf.6573437d-47c1-42c4-b817-0562f514f6ff",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.api.apikeys.v2.Key",
    "name": "projects/103621867718/locations/global/keys/b7ff1f9f-8275-410a-94dd-3855ee9b5dd2",
    "keyString": "----REDACTED----",
    "createTime": "2019-02-04T23:56:28.531Z",
    "uid": "b7ff1f9f-8275-410a-94dd-3855ee9b5dd2",
    "updateTime": "2019-02-04T23:56:28.531Z",
    "restrictions": {
      "browserKeyRestrictions": {
      }
    },
    "etag": "k0bsYGkIvSxDVwNxyw49NQ=="
  }
}