כשמפעילים משימה ב-BigQuery באמצעות המחבר של BigQuery, יכול להיות שתהליך העבודה לא ימתין אוטומטית לסיום המשימה. אם השלבים הבאים תלויים בהצלחת העבודה, כדאי להטמיע מנגנון של בדיקת סטטוס.
מחברים רבים ב-Workflows מחזירים משאב של פעולה ממושכת (LRO) שאפשר לבצע עליו סקר. בעוד שחלק מהמחברים מחזירים משאב מסוג Operation כדי לייצג LRO, BigQuery משתמש במשאב Job למטרה הזו. שירותים אחרים, כמו Cloud Build או Compute Engine, מחזירים משאב Operation בפועל. רשימה של סוגי משאבים של LRO זמינה במאמר בנושא מקורות נתונים נתמכים.
הצבעה אוטומטית
אפשר לבצע באופן אוטומטי בדיקה חוזרת כדי לראות אם משימת BigQuery הסתיימה כשמשתמשים בשיטות של מחבר שמחזירות משאב LRO, כמו googleapis.bigquery.v2.jobs.insert.
כשמשתמשים בשיטה כזו של מחבר, Workflows חוסם את ההפעלה של תהליך העבודה עד שהפעולה מצליחה או נכשלת. השדה connector_params
מאפשר לכם להתאים אישית את אופן הפעולה של הדגימה, כולל הזמן הכולל להמתנה והתדירות של בדיקות הסטטוס. מידע נוסף זמין במאמר בנושא הפעלת שיחה עם מחבר.
לדוגמה, בתהליך העבודה הבא מוצג איך להתחיל משימת BigQuery באמצעות השיטה jobs.insert, ואיך להגדיר את הסקר של המשימה באמצעות מדיניות שמשתמשת בהגדרות מותאמות אישית ולא בהגדרות ברירת המחדל:
YAML
JSON
שליחת בקשות ידנית
התשאול האוטומטי חל רק על שיטות שמחזירות משאב LRO. שיטות סינכרוניות רגילות כמו googleapis.bigquery.v2.jobs.query לא תומכות בסקר אוטומטי, ויכול להיות שיהיה צורך בסקר ידני אם השאילתה נמשכת יותר מהזמן הקצוב לתפוגה של ה-API הפנימי.
לדוגמה, בתהליך העבודה הבא מוצג איך לבדוק אם עבודת BigQuery הסתיימה ישירות בתהליך העבודה באמצעות השיטה getQueryResults: