טעינת נתונים מ-Cloud Storage ל-BigQuery
אפשר לטעון נתונים מ-Cloud Storage ל-BigQuery באמצעות המחבר של שירות העברת הנתונים ל-BigQuery ב-Cloud Storage. שירות העברת הנתונים ל-BigQuery מאפשר לתזמן משימות העברה חוזרות שמוסיפות את הנתונים העדכניים מ-Cloud Storage ל-BigQuery.
לפני שמתחילים
לפני שיוצרים העברת נתונים ב-Cloud Storage, צריך לבצע את הפעולות הבאות:
- מוודאים שביצעתם את כל הפעולות שנדרשות במאמר הפעלת שירות העברת נתונים ל-BigQuery.
- מאחזרים את URI של Cloud Storage.
- יוצרים מערך נתונים ב-BigQuery לאחסון הנתונים.
- יוצרים את טבלת היעד להעברת הנתונים ומציינים את הגדרת הסכימה. אפשר ליצור טבלה ב-BigQuery או ליצור טבלת BigLake Iceberg ב-BigQuery.
- אם אתם מתכננים לציין מפתח הצפנה בניהול הלקוח (CMEK), ודאו שלחשבון השירות שלכם יש הרשאות להצפנה ולפענוח, ושיש לכם את מזהה מקום האחסון של מפתח Cloud KMS שנדרש לשימוש ב-CMEK. מידע על אופן השימוש ב-CMEK עם שירות העברת הנתונים ל-BigQuery זמין במאמר ציון מפתח הצפנה בהעברות.
מגבלות
העברות נתונים חוזרות מ-Cloud Storage ל-BigQuery כפופות למגבלות הבאות:
- כל הקבצים שתואמים לתבניות שהוגדרו באמצעות תבנית wildcard או פרמטרים של זמן ריצה להעברת הנתונים חייבים להיות בעלי אותה סכימה שהגדרתם לטבלת היעד, אחרת ההעברה תיכשל. שינויים בסכימת הטבלה בין הרצות גורמים גם הם לכשל בהעברה.
- חשוב לדעת שאי אפשר להשתמש באובייקטים של Cloud Storage שנשמרו בארכיון להעברת נתונים ל-BigQuery, כי אפשר ליצור גרסאות לאובייקטים ב-Cloud Storage. כדי להעביר אובייקטים, הם צריכים להיות פעילים.
- בניגוד לטעינות נתונים בודדות מ-Cloud Storage ל-BigQuery, כדי להגדיר העברות נתונים שוטפות צריך ליצור את טבלת היעד לפני שמגדירים את ההעברה. בנוסף, צריך להגדיר מראש את סכימת הטבלה לקובצי CSV ו-JSON. BigQuery לא יכול ליצור את הטבלה כחלק מתהליך העברת הנתונים החוזר.
- העברות נתונים מ-Cloud Storage מגדירות את הפרמטר Write preference לערך
APPENDכברירת מחדל. במצב הזה, אפשר לטעון קובץ שלא בוצעו בו שינויים ל-BigQuery רק פעם אחת. אם המאפייןlast modification timeשל הקובץ יעודכן, הקובץ ייטען מחדש. - שירות העברת הנתונים ל-BigQuery לא מבטיח שכל הקבצים יועברו או שיועברו רק פעם אחת אם הקבצים ב-Cloud Storage ישתנו במהלך העברת הנתונים.
כשאתם טוענים נתונים ל-BigQuery מקטגוריה של Cloud Storage, אתם כפופים למגבלות הבאות:
- BigQuery לא מבטיח עקביות נתונים במקורות נתונים חיצוניים. שינויים בנתוני הבסיס בזמן הפעלת שאילתה עלולים לגרום להתנהגות לא צפויה.
- BigQuery לא תומך בניהול גרסאות של אובייקטים ב-Cloud Storage. אם כוללים מספר דור ב-URI של Cloud Storage, עבודת הטעינה נכשלת.
יכול להיות שיש מגבלות נוספות בהתאם לפורמט של נתוני המקור ב-Cloud Storage. למידע נוסף:
מרווחי זמן מינימליים
- קבצי המקור נאספים להעברת נתונים באופן מיידי, ללא הגבלת גיל מינימלית לקובץ.
- מרווח הזמן המינימלי בין העברות נתונים חוזרות הוא 15 דקות. מרווח הזמן שמוגדר כברירת מחדל להעברת נתונים חוזרת הוא כל 24 שעות.
- אתם יכולים להגדיר העברה מבוססת-אירועים כדי לתזמן באופן אוטומטי העברות נתונים במרווחי זמן קצרים יותר.
ההרשאות הנדרשות
כשאתם טוענים נתונים ל-BigQuery, אתם צריכים הרשאות שיאפשרו לכם לטעון נתונים לטבלאות ולמחיצות חדשות או קיימות ב-BigQuery. אם אתם טוענים נתונים מ-Cloud Storage, תצטרכו גם גישה לקטגוריה שמכילה את הנתונים שלכם. ודאו שיש לכם את ההרשאות הנדרשות הבאות:
התפקידים הנדרשים ב-BigQuery
כדי לקבל את ההרשאות שנדרשות ליצירת העברת נתונים באמצעות שירות העברת נתונים ל-BigQuery, צריך לבקש מהאדמין להקצות לכם את תפקיד BigQuery Admin (roles/bigquery.admin) ב-IAM בפרויקט.
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות ליצירת העברת נתונים בשירות העברת נתונים ל-BigQuery. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור העברת נתונים באמצעות שירות העברת הנתונים ל-BigQuery, נדרשות ההרשאות הבאות:
-
הרשאות של שירות העברת נתונים ל-BigQuery:
-
bigquery.transfers.update -
bigquery.transfers.get
-
-
הרשאות ב-BigQuery:
-
bigquery.datasets.get -
bigquery.datasets.getIamPolicy -
bigquery.datasets.update -
bigquery.datasets.setIamPolicy -
bigquery.jobs.create
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מידע נוסף מופיע במאמר בנושא מתן גישה ל-bigquery.admin.
תפקידים נדרשים ב-Cloud Storage
צריך הרשאות storage.objects.get בקטגוריה הספציפית או ברמה גבוהה יותר. אם אתם משתמשים בתווים כלליים לחיפוש של URI, אתם צריכים הרשאות storage.objects.list. אם רוצים למחוק את קובצי המקור אחרי כל העברה מוצלחת, צריך גם הרשאות storage.objects.delete. תפקיד ה-IAM המוגדר מראש storage.objectAdmin כולל את כל ההרשאות האלה.
הגדרת העברה של Cloud Storage
כדי ליצור העברת נתונים מ-Cloud Storage בשירות העברת הנתונים ל-BigQuery:
המסוף
עוברים לדף 'העברות נתונים' במסוף Cloud de Confiance .
לוחצים על Create transfer (יצירת העברה).
בקטע Source type, בוחרים באפשרות Google Cloud Storage בשדה Source.
בקטע שם הגדרת ההעברה, בשדה שם מוצג, מזינים שם להעברת הנתונים, למשל
My Transfer. השם של ההעברה יכול להיות כל ערך שיעזור לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
בקטע אפשרויות תזמון, בוחרים תדירות חזרה:
אם בוחרים באפשרות שעות, ימים, שבועות או חודשים, צריך לציין גם תדירות. אפשר גם לבחור באפשרות בהתאמה אישית כדי לציין תדירות חזרה מותאמת אישית. אפשר לבחור באפשרות התחלה עכשיו או באפשרות התחלה בשעה שנקבעה ולציין תאריך התחלה ושעת הפעלה.
אם בוחרים באפשרות על פי דרישה, העברת הנתונים תתבצע כשמפעילים אותה באופן ידני.
אם בוחרים באפשרות Event-driven, צריך גם לציין מינוי ל-Pub/Sub. בוחרים את שם המינוי או לוחצים על יצירת מינוי. האפשרות הזו מפעילה העברה מבוססת-אירועים שמפעילה העברות כשאירועים מגיעים למינוי Pub/Sub.
בקטע הגדרות היעד:
- בשדה Dataset, בוחרים את מערך הנתונים שיצרתם לאחסון הנתונים.
- בוחרים באפשרות Native table (טבלה מקורית) אם רוצים להעביר לטבלה ב-BigQuery.
- בוחרים באפשרות Apache Iceberg אם רוצים להעביר לטבלת BigLake Iceberg ב-BigQuery.
- בשדה Dataset, בוחרים את מערך הנתונים שיצרתם לאחסון הנתונים.
בקטע פרטי מקור הנתונים:
- בשדה טבלת יעד, מזינים את השם של טבלת היעד. טבלת היעד צריכה לעמוד בכללים למתן שמות לטבלאות. שמות של טבלאות ביעד תומכים גם בפרמטרים.
- בשדה URI של Cloud Storage, מזינים את URI של Cloud Storage. יש תמיכה בתווים כלליים לחיפוש ובפרמטרים. אם ה-URI לא תואם לאף קובץ, לא מתבצעת החלפה של נתונים בטבלת היעד.
בקטע העדפת כתיבה, בוחרים באחת מהאפשרויות הבאות:
- APPEND כדי להוסיף נתונים חדשים לטבלת היעד הקיימת. APPEND הוא ערך ברירת המחדל של Write preference.
- MIRROR כדי להחליף את הנתונים בטבלת היעד במהלך כל הפעלה של העברת הנתונים.
מידע נוסף על האופן שבו שירות העברת נתונים ל-BigQuery מטמיע נתונים באמצעות APPEND או MIRROR זמין במאמר הטמעת נתונים בהעברות מ-Cloud Storage. מידע נוסף על השדה
writeDispositionזמין במאמרJobConfigurationLoad.בקטע מחיקת קובצי המקור אחרי ההעברה, מסמנים את התיבה אם רוצים למחוק את קובצי המקור אחרי כל העברת נתונים מוצלחת. מחיקת משימות מתבצעת כמיטב היכולת. אם הניסיון הראשון למחוק את קובצי המקור נכשל, לא מתבצע ניסיון חוזר למחיקת המשימות.
בקטע אפשרויות העברה:
- בקטע כל הפורמטים:
- בשדה Number of errors allowed (מספר השגיאות המותר), מזינים את המספר המקסימלי של רשומות פגומות ש-BigQuery יכול להתעלם מהן בזמן הפעלת העבודה. אם מספר הרשומות הפגומות חורג מהערך הזה, הפונקציה
invalidמחזירה שגיאה בתוצאת העבודה, והעבודה נכשלת. ערך ברירת המחדל הוא0. - (אופציונלי) בשדה סוגי יעד עשרוניים, מזינים רשימה מופרדת בפסיקים של סוגי נתונים אפשריים ב-SQL שאפשר להמיר אליהם את הערכים העשרוניים של המקור. סוג הנתונים של SQL שנבחר להמרה תלוי בתנאים הבאים:
- סוג הנתונים שנבחר להמרה יהיה סוג הנתונים הראשון ברשימה הבאה שתומך בדיוק ובקנה המידה של נתוני המקור, לפי הסדר הזה:
NUMERIC,BIGNUMERICו-STRING. - אם אף אחד מסוגי הנתונים שמופיעים ברשימה לא תומך בדיוק ובקנה המידה, ייבחר סוג הנתונים שתומך בטווח הרחב ביותר ברשימה שצוינה. אם ערך חורג מהטווח הנתמך במהלך קריאת נתוני המקור, מוצגת שגיאה.
- סוג הנתונים
STRINGתומך בכל ערכי הדיוק והקנה מידה. - אם השדה הזה יישאר ריק, סוג הנתונים יהיה
NUMERIC,STRINGבפורמט ORC ו-NUMERICבפורמטים אחרים של קבצים. - השדה הזה לא יכול להכיל סוגי נתונים כפולים.
- הסדר של סוגי הנתונים שאתם מציינים בשדה הזה לא משנה.
- סוג הנתונים שנבחר להמרה יהיה סוג הנתונים הראשון ברשימה הבאה שתומך בדיוק ובקנה המידה של נתוני המקור, לפי הסדר הזה:
- בשדה Number of errors allowed (מספר השגיאות המותר), מזינים את המספר המקסימלי של רשומות פגומות ש-BigQuery יכול להתעלם מהן בזמן הפעלת העבודה. אם מספר הרשומות הפגומות חורג מהערך הזה, הפונקציה
- בקטע JSON, CSV, מסמנים את התיבה התעלמות מערכים לא ידועים אם רוצים שהעברת הנתונים תדלג על נתונים שלא מתאימים לסכימה של טבלת היעד.
- בקטע AVRO, מסמנים את התיבה Use avro logical types (שימוש בסוגים לוגיים של Avro) אם רוצים שהעברת הנתונים תמיר סוגים לוגיים של Avro לסוגי הנתונים התואמים שלהם ב-BigQuery. ההתנהגות שמוגדרת כברירת מחדל היא להתעלם מהמאפיין
logicalTypeברוב הסוגים ולהשתמש במקום זאת בסוג Avro הבסיסי. בקטע CSV:
- בשדה תו מפריד בין שדות, מזינים את התו שמפריד בין השדות. ערך ברירת המחדל הוא פסיק.
- בשדה תו מרכאות, מזינים את התו שמשמש להוספת מרכאות לקטעי נתונים בקובץ CSV. ערך ברירת המחדל הוא גרשיים כפולים (
"). - בשדה שורות כותרת לדילוג, מזינים את מספר שורות הכותרת בקובצי המקור אם לא רוצים לייבא אותן. ערך ברירת המחדל הוא
0. - כדי לאפשר מעברי שורה בשדות שמוקפים במירכאות, מסמנים את התיבה.
- בקטע Allow jagged rows (התרת שורות לא אחידות), מסמנים את התיבה אם רוצים לאפשר העברת נתונים של שורות עם עמודות חסרות
NULLABLE.
מידע נוסף זמין במאמר בנושא אפשרויות לקובצי CSV בלבד.
- בקטע כל הפורמטים:
בתפריט Service Account, בוחרים חשבון שירות מתוך חשבונות השירות שמשויכים ל Cloud de Confiance פרויקט. אתם יכולים לשייך חשבון שירות להעברת הנתונים במקום להשתמש בפרטי הכניסה של המשתמש. מידע נוסף על שימוש בחשבונות שירות עם העברות נתונים זמין במאמר שימוש בחשבונות שירות.
- אם נכנסתם באמצעות זהות מאוחדת, תצטרכו חשבון שירות כדי ליצור העברת נתונים. אם נכנסתם באמצעות חשבון Google, לא חובה להשתמש בחשבון שירות להעברת הנתונים.
- לחשבון השירות צריכות להיות ההרשאות הנדרשות גם ל-BigQuery וגם ל-Cloud Storage.
אופציונלי: בקטע אפשרויות להתראות:
אופציונלי: בקטע Advanced options, אם אתם משתמשים בCMEK, בוחרים באפשרות Customer-managed key. תוצג רשימה של מפתחות CMEK זמינים לבחירה. מידע על אופן השימוש במפתחות CMEK בשירות העברת נתונים ל-BigQuery זמין במאמר ציון מפתח הצפנה בהעברות.
לוחצים על Save.
BQ
מזינים את הפקודה bq mk ומספקים את האפשרות ליצירת העברה –
--transfer_config. נדרשים גם הדגלים הבאים:
--data_source--display_name--target_dataset--params
דגלים אופציונליים:
-
--destination_kms_key: מציין את מזהה משאב המפתח של מפתח Cloud KMS אם משתמשים במפתח הצפנה בניהול הלקוח (CMEK) להעברת הנתונים הזו. מידע על אופן השימוש במפתחות CMEK עם שירות העברת נתונים ל-BigQuery זמין במאמר ציון מפתח הצפנה להעברות. -
--service_account_name: מציין חשבון שירות לשימוש באימות העברה של Cloud Storage במקום חשבון המשתמש.
כשמשתמשים בכלי שורת הפקודה של BigQuery כדי להגדיר העברת נתונים של Cloud Storage, חלות המגבלות הבאות:
אי אפשר להגדיר את לוח הזמנים של ההעברה באמצעות כלי שורת הפקודה של BigQuery. כשיוצרים העברת נתונים ב-Cloud Storage באמצעות כלי שורת הפקודה של BigQuery, התצורה של ההעברה מוגדרת באמצעות ערך ברירת המחדל של לוח זמנים (כל 24 שעות).
אי אפשר להגדיר התראות באמצעות כלי שורת הפקודה של BigQuery.
בדוגמה הבאה מוצגת פקודה ליצירת העברת נתונים ב-Cloud Storage עם כל הפרמטרים הנדרשים:
bq mk \ --transfer_config \ --project_id=PROJECT_ID \ --data_source=DATA_SOURCE \ --display_name=NAME \ --target_dataset=DATASET \ --destination_kms_key="DESTINATION_KEY" \ --params='PARAMETERS' \ --service_account_name=SERVICE_ACCOUNT_NAME
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID הוא מזהה הפרויקט. אם לא מציינים את
--project_idכדי לציין פרויקט מסוים, המערכת משתמשת בפרויקט ברירת המחדל. - DATA_SOURCE הוא מקור הנתונים, לדוגמה,
google_cloud_storage. - NAME הוא השם המוצג של הגדרת העברת הנתונים. שם ההעברה יכול להיות כל ערך שיאפשר לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
- DATASET הוא מערך נתוני היעד להגדרת ההעברה.
- DESTINATION_KEY: מזהה משאב המפתח של Cloud KMS – לדוגמה,
projects/project_name/locations/us/keyRings/key_ring_name/cryptoKeys/key_name. - PARAMETERS מכיל את הפרמטרים של הגדרת ההעברה שנוצרה בפורמט JSON. לדוגמה:
--params='{"param":"param_value"}'.-
destination_table_name_template: השם של טבלת היעד ב-BigQuery. -
data_path_template: ה-URI של Cloud Storage שמכיל את הקבצים שרוצים להעביר. יש תמיכה בתווים כלליים לחיפוש ובפרמטרים. -
write_disposition: קובע אם קבצים תואמים יצורפו לטבלת היעד או ישוכפלו במלואם. הערכים הנתמכים הםAPPENDאוMIRROR. מידע על האופן שבו שירות העברת הנתונים ל-BigQuery מוסיף נתונים או משכפל אותם בהעברות של Cloud Storage זמין במאמר הוספת נתונים להעברות של Cloud Storage. -
file_format: הפורמט של הקבצים שרוצים להעביר. הפורמט יכול להיותCSV,JSON,AVRO,PARQUETאוORC. ערך ברירת המחדל הואCSV. -
max_bad_records: המספר המקסימלי של רשומות פגומות שאפשר להתעלם מהן עבור כל ערך שלfile_format. ערך ברירת המחדל הוא0. -
decimal_target_types: לכל ערך שלfile_format, רשימה מופרדת בפסיקים של סוגי נתונים אפשריים של SQL שאפשר להמיר אליהם את הערכים העשרוניים של המקור. אם לא מציינים את השדה הזה, סוג הנתונים יהיה"NUMERIC,STRING"כברירת מחדל עבורORC, ו-"NUMERIC"עבור פורמטים אחרים של קבצים. -
ignore_unknown_values: לכל ערךfile_format, צריך להגדיר את הערךTRUEכדי לאשר שורות שמכילות ערכים שלא תואמים לסכימה. מידע נוסף על השדהignoreUnknownvaluesמופיע בטבלת ההפניות שלJobConfigurationLoad. -
use_avro_logical_types: עבור ערכיAVROfile_format, צריך להגדיר את הערךTRUEכדי לפרש סוגים לוגיים לסוגים התואמים שלהם (לדוגמה,TIMESTAMP), במקום להשתמש רק בסוגים הגולמיים שלהם (לדוגמה,INTEGER). -
parquet_enum_as_string: אם הערכים שלPARQUETהםfile_format, צריך להגדיר את הערךTRUEכדי להסיק שהסוג הלוגי שלPARQUETהואENUMולאBYTES(ברירת המחדל).STRING -
parquet_enable_list_inference: עבור ערכיPARQUETfile_format, מגדירים את הערךTRUEכדי להשתמש בהסקת סכימה באופן ספציפי עבור הסוג הלוגיPARQUETLIST. reference_file_schema_uri: נתיב URI לקובץ עזר עם סכימת הקורא.-
field_delimiter: עבור ערכים שלCSVfile_format, תו שמפריד בין שדות. ערך ברירת המחדל הוא פסיק. -
quote: עבור ערכיCSVfile_format, תו שמשמש להוספת מרכאות למקטעי נתונים בקובץ CSV. ערך ברירת המחדל הוא מרכאות כפולות ("). -
skip_leading_rows: עבור ערכיCSVfile_format, מציינים את מספר שורות הכותרת הראשונות שלא רוצים לייבא. ערך ברירת המחדל הוא 0. -
allow_quoted_newlines: עבור ערכיCSVfile_format, מגדירים את הערךTRUEכדי לאפשר מעברי שורה בשדות שמוקפים במירכאות. -
allow_jagged_rows: אם הערכים שלCSVfile_formatהםTRUE, המערכת תקבל שורות שחסרות בהן עמודות אופציונליות בסוף. הערכים החסרים ימולאו בערךNULL. -
preserve_ascii_control_characters: עבור ערכיCSVfile_format, צריך להגדיר את הערךTRUEכדי לשמור על תווי בקרה מוטמעים של ASCII. -
encoding: מציינים אתCSVסוג הקידוד. הערכים הנתמכים הםUTF8,ISO_8859_1,UTF16BE,UTF16LE,UTF32BEו-UTF32LE. -
delete_source_files: מגדירים את הערךTRUEכדי למחוק את קובצי המקור אחרי כל העברה מוצלחת. מחיקת משימות לא מופעלת מחדש אם הניסיון הראשון למחוק את קובץ המקור נכשל. ערך ברירת המחדל הואFALSE.
-
- SERVICE_ACCOUNT_NAME הוא השם של חשבון השירות שמשמש לאימות ההעברה. חשבון השירות צריך להיות בבעלות אותו חשבון
project_idששימש ליצירת ההעברה, וצריכות להיות לו כל ההרשאות הנדרשות.
לדוגמה, הפקודה הבאה יוצרת העברת נתונים של Cloud Storage בשם My Transfer באמצעות הערך data_path_template של gs://mybucket/myfile/*.csv, מערך נתוני היעד mydataset ו-file_format
CSV. בדוגמה הזו מופיעים ערכים לא ברירת מחדל לפרמטרים האופציונליים שמשויכים ל-CSV file_format.
העברת הנתונים נוצרת בפרויקט ברירת המחדל:
bq mk --transfer_config \
--target_dataset=mydataset \
--project_id=myProject \
--display_name='My Transfer' \
--destination_kms_key=projects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey \
--params='{"data_path_template":"gs://mybucket/myfile/*.csv",
"destination_table_name_template":"MyTable",
"file_format":"CSV",
"max_bad_records":"1",
"ignore_unknown_values":"true",
"field_delimiter":"|",
"quote":";",
"skip_leading_rows":"1",
"allow_quoted_newlines":"true",
"allow_jagged_rows":"false",
"delete_source_files":"true"}' \
--data_source=google_cloud_storage \
--service_account_name=abcdef-test-sa@abcdef-test.s3ns.iam.gserviceaccount.com projects/862514376110/locations/us/transferConfigs/ 5dd12f26-0000-262f-bc38-089e0820fe38
אחרי הרצת הפקודה, תקבלו הודעה כמו זו:
[URL omitted] Please copy and paste the above URL into your web browser and
follow the instructions to retrieve an authentication code.
פועלים לפי ההוראות ומדביקים את קוד האימות בשורת הפקודה.
API
משתמשים בשיטה projects.locations.transferConfigs.create ומספקים מופע של המשאב TransferConfig.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הגדרת מפתח הצפנה להעברות
אפשר לציין מפתחות הצפנה בניהול הלקוח (CMEK) כדי להצפין נתונים להרצת העברה. אפשר להשתמש ב-CMEK כדי לתמוך בהעברות מ-Cloud Storage.כשמציינים CMEK בהעברה, שירות העברת הנתונים ל-BigQuery מחיל את ה-CMEK על כל מטמון ביניים בדיסק של נתונים שהועברו, כך שכל תהליך העבודה של העברת הנתונים תואם ל-CMEK.
אי אפשר לעדכן העברה קיימת כדי להוסיף CMEK אם ההעברה לא נוצרה במקור עם CMEK. לדוגמה, אי אפשר לשנות טבלת יעד שהוצפנה במקור בהצפנה שמוגדרת כברירת מחדל, כך שהיא תוצפן עכשיו באמצעות CMEK. באופן דומה, אי אפשר לשנות טבלת יעד מוצפנת באמצעות CMEK כך שתהיה לה הצפנה מסוג אחר.
אפשר לעדכן CMEK להעברה אם הגדרת ההעברה נוצרה במקור עם הצפנת CMEK. כשמעדכנים את ה-CMEK בהגדרות של העברה, שירות העברת הנתונים ל-BigQuery מעביר את ה-CMEK לטבלאות היעד בהפעלה הבאה של ההעברה. במהלך ההפעלה, שירות העברת הנתונים ל-BigQuery מחליף את כל ה-CMEK שהתיישנו ב-CMEK החדש. מידע נוסף זמין במאמר בנושא עדכון העברה.
אפשר גם להשתמש במפתחות ברירת המחדל של הפרויקט. כשמציינים מפתח ברירת מחדל של פרויקט בהעברה, שירות העברת הנתונים ל-BigQuery משתמש במפתח ברירת המחדל של הפרויקט כמפתח ברירת המחדל לכל הגדרה חדשה של העברה.
הפעלת העברה באופן ידני
בנוסף להעברות נתונים מ-Cloud Storage שמתוזמנות באופן אוטומטי, אפשר להפעיל העברה באופן ידני כדי לטעון קובצי נתונים נוספים.
אם הגדרת ההעברה היא runtime parameterized, צריך לציין טווח תאריכים שבו יתחילו העברות נוספות.
כדי להפעיל העברת נתונים:
המסוף
נכנסים לדף BigQuery במסוף Cloud de Confiance .
לוחצים על העברות נתונים.
בוחרים את העברת הנתונים מהרשימה.
לוחצים על הפעלת ההעברה עכשיו או על תזמון מילוי חוסרים (להגדרות העברה עם פרמטרים של זמן ריצה).
אם לחצתם על הפעלת ההעברה עכשיו, בוחרים באפשרות הפעלת העברה חד-פעמית או באפשרות הפעלה בתאריך ספציפי, לפי הצורך. אם בחרתם באפשרות הפעלה בתאריך ספציפי, בוחרים תאריך ושעה ספציפיים:
אם לחצתם על תזמון מילוי חוסרים, בוחרים באפשרות הפעלת העברה חד-פעמית או באפשרות הפעלה לטווח תאריכים, לפי הצורך. אם בחרתם באפשרות הפעלה בטווח תאריכים, בוחרים תאריך ושעה להתחלה ולסיום:
לוחצים על אישור.
BQ
מזינים את הפקודה bq mk ומספקים את הדגל --transfer_run. אפשר להשתמש בדגל --run_time או בדגלים --start_time ו---end_time.
bq mk \ --transfer_run \ --start_time='START_TIME' \ --end_time='END_TIME' \ RESOURCE_NAME
bq mk \ --transfer_run \ --run_time='RUN_TIME' \ RESOURCE_NAME
כאשר:
START_TIME ו-END_TIME הן חותמות זמן שמסתיימות ב-
Zאו מכילות היסט תקין מאזור זמן. לדוגמה:2017-08-19T12:11:35.00Z2017-05-25T00:00:00+00:00
RUN_TIME היא חותמת זמן שמציינת את השעה שבה צריך לתזמן את ההפעלה של העברת הנתונים. אם רוצים להפעיל העברה חד-פעמית של הנתונים הנוכחיים, אפשר להשתמש בדגל
--run_time.RESOURCE_NAME הוא שם המשאב של ההעברה (נקרא גם הגדרת ההעברה), לדוגמה,
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7. אם אתם לא יודעים את שם המשאב של ההעברה, מריצים את הפקודהbq ls --transfer_config --transfer_location=LOCATIONכדי למצוא את שם המשאב.
API
משתמשים בשיטה projects.locations.transferConfigs.startManualRuns ומספקים את משאב הגדרות ההעברה באמצעות הפרמטר parent.