הרצת משימות באופן פרוגרמטי
באמצעות 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, קראו את המאמר תפקידים והרשאות מוגדרים מראש.
משימות פעילות
כדי להריץ משימה באופן פרוגרמטי:
מפעילים את המשימה באמצעות קריאה ל-method
jobs.insert. כשמפעילים את השיטהjobs.insert, צריך לכלול ייצוג של משאב המשימה.בקטע
configurationשל משאב המשימה, מוסיפים מאפיין צאצא שמציין את סוג המשימה –load,query,extractאוcopy.אחרי שקוראים ל-method
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 של כלי שורת הפקודה של BigQuery. הכלי bq תומך בהוספת תוויות רק למשימות של שאילתות.
אפשר גם להוסיף תווית למשימה כששולחים אותה דרך ה-API, על ידי ציון המאפיין labels בהגדרת המשימה כשמפעילים את השיטה jobs.insert. אפשר להשתמש ב-API כדי להוסיף תוויות לכל סוג עבודה.
אי אפשר להוסיף תוויות למשימות בהמתנה, למשימות שפועלות או למשימות שהושלמו, וגם לא לעדכן את התוויות שלהן.
כשמוסיפים תווית למשימה, התווית נכללת בנתוני החיוב.
המאמרים הבאים
- במאמר הרצת שאילתות תוכלו למצוא דוגמה לקוד שמפעיל עבודת שאילתה ודוגם אותה.
- למידע נוסף על יצירת ייצוג של משאב משימה, עיינו בדף הסקירה הכללית של משימות במאמרי העזרה של ה-API.