חלק מהשיטות של Dialogflow API מחזירות פעולה ממושכת. ה-methods האלה הן אסינכרוניות, ויכול להיות שהפעולה לא תושלם כשה-method תחזיר תשובה. אתם יכולים לבדוק את הסטטוס של הפעולות או לבטל אותן.
קבלת סטטוס הפעולה
כך בודקים את סטטוס הפעולה: אם יש הרבה פעולות שצריך לבדוק, כדאי להשתמש ב-הגבלת קצב של יצירת בקשות עבור הקריאות או להשתמש ב-method list במקום זאת.
REST
מפעילים את ה-method get לסוג Operations.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב-GCP
- OPERATION_ID: מזהה הפעולה
- API_VERSION:
v2אוv2beta1
ה-method של ה-HTTP וכתובת ה-URL:
GET https://dialogflow.googleapis.com/API_VERSION/projects/my-gcp-project/operations/OPERATION_ID
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_ID/operations/some-operation-name-OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.dialogflow.API_VERSION.SomeOperationType",
"state": "DONE"
},
"done": true,
...
}
בסיום הפעולה, מוחזר ערך state של SUCCESSFUL.
הצגה וביטול של פעולות
בנוסף לקבלת פעולה ספציפית, אתם יכולים להציג רשימה של פעולות ולבטל אותן.
אפשר לעיין ב-methods list ו-cancel של הסוג Operations.
יכול להיות שהתוצאות של list יכללו פעולות שלא קשורות למשימה הנוכחית, אז חשוב לסנן את התוצאות.