הרצת משימות באופן פרוגרמטי
כדי להריץ משימת BigQuery באופן פרוגרמטי באמצעות ה-API בארכיטקטורת REST או ספריות לקוח:
- מבצעים קריאה ל-method
jobs.insert. - מבקשים את משאב העבודה באופן תקופתי ובודקים את מאפיין הסטטוס כדי לדעת מתי העבודה הושלמה.
- בודקים אם העבודה הסתיימה בהצלחה.
לפני שמתחילים
מקצים תפקידים של ניהול זהויות והרשאות גישה (IAM) שנותנים למשתמשים את ההרשאות הנדרשות לביצוע כל משימה במסמך הזה.
ההרשאות הנדרשות
כדי להריץ משימה ב-BigQuery, אתם צריכים את הרשאת ה-IAM bigquery.jobs.create.
כל אחד מתפקידי ה-IAM המוגדרים מראש הבאים כולל את ההרשאות שנדרשות להפעלת משימה:
roles/bigquery.userroles/bigquery.jobUserroles/bigquery.admin
בנוסף, כשיוצרים עבודה, מקבלים באופן אוטומטי את ההרשאות הבאות לעבודה הזו:
bigquery.jobs.getbigquery.jobs.update
במאמר תפקידים והרשאות מוגדרים מראש יש מידע נוסף על תפקידים והרשאות ב-IAM ב-BigQuery.
הרצת משרות
כדי להריץ משימה באופן פרוגרמטי:
מתחילים את העבודה על ידי קריאה לשיטה
jobs.insert. כשמפעילים את השיטהjobs.insert, צריך לכלול ייצוג של משאב של משימה.בקטע
configurationשל משאב העבודה, כוללים מאפיין צאצא שמציין את סוג העבודה –load,query,extractאוcopy.אחרי שמפעילים את השיטה
jobs.insert, מפעילים את השיטהjobs.getעם מזהה המשימה והמיקום כדי לבדוק את סטטוס המשימה, ובודקים את הערךstatus.stateכדי לראות את סטטוס המשימה. אם הערך שלstatus.stateהואDONE, העבודה הפסיקה לפעול. עם זאת, סטטוסDONEלא אומר שהעבודה הושלמה בהצלחה, אלא רק שהיא כבר לא פועלת.בודקים שהעבודה בוצעה בהצלחה. אם לעבודה יש מאפיין
errorResult, העבודה נכשלה. המאפייןstatus.errorResultמכיל מידע שמתאר מה השתבש במשימה שנכשלה. אםstatus.errorResultלא מופיע, המשימה הסתיימה בהצלחה, אבל יכול להיות שהיו כמה שגיאות לא קריטיות, כמו בעיות בייבוא של כמה שורות במשימת טעינה. שגיאות לא חמורות מוחזרות ברשימהstatus.errorsשל העבודה.
הפעלת משימות באמצעות ספריות לקוח
כדי ליצור ולהריץ משימה באמצעות ספריות הלקוח של Cloud ל-BigQuery:
C#
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי C#הוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery C# API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הוספת תוויות של משרות
אפשר להוסיף תוויות לעבודות של שאילתות דרך שורת הפקודה באמצעות הדגל --label של כלי שורת הפקודה bq. הכלי bq תומך בהוספת תוויות רק לעבודות של שאילתות.
אפשר גם להוסיף תווית לעבודה כששולחים אותה דרך ה-API. לשם כך, צריך לציין את המאפיין labels בהגדרת העבודה כשמפעילים את השיטה jobs.insert. אפשר להשתמש ב-API כדי להוסיף תוויות לכל סוג עבודה.
אי אפשר להוסיף תוויות למשימות בהמתנה, למשימות שפועלות או למשימות שהושלמו, ואי אפשר לעדכן את התוויות שלהן.
כשמוסיפים תווית לעבודה, התווית נכללת בנתוני החיוב.
מידע נוסף זמין במאמר בנושא הוספת תוויות למשרות.
המאמרים הבאים
- במאמר הרצת שאילתות יש דוגמת קוד שמתחילה עבודת שאילתה ומבצעת עליה בדיקות.
- מידע נוסף על יצירת ייצוג של משאב של משימה מופיע בדף הסקירה הכללית על משימות בהפניית ה-API.