במסמך הזה מוסבר על הרעיון של מאגרי מידע ב-Dataform ואיך ליצור מאגר מידע חדש.
מידע על מאגרי Dataform
כל מאגר Dataform מכיל אוסף של קובצי SQLX ו-JavaScript שמרכיבים את תהליך העבודה, וגם קובצי הגדרה וחבילות של Dataform. אתם יכולים ליצור אינטראקציה עם התוכן של המאגר בסביבת עבודה לפיתוח.
מאגרי המידע מוצגים בדף Dataform לפי סדר אלפביתי של מזהי מאגרי המידע. אפשר למיין ולסנן אותם.
כדי לראות את המאגרים, במסוף Google Cloud נכנסים לדף Dataform.
כל מאגר Dataform צריך להיות מקושר לחשבון שירות מותאם אישית. בוחרים חשבון שירות בהתאמה אישית כשיוצרים מאגר. אפשר לערוך את חשבון השירות מאוחר יותר.
Dataform משתמש ב-Git כדי לתעד שינויים ולנהל גרסאות של קבצים. כל מאגר Dataform תואם למאגר Git. אחרי שיוצרים מאגר Dataform, אפשר לקשר אותו למאגר מרוחק ב-GitHub, ב-GitLab או ב-Bitbucket.
במאגר Dataform, הקוד של המאגר מאוחסן ב-Dataform. במאגר מקושר, מאגר הצד השלישי מאחסן את קוד המאגר. Dataform מתקשר עם המאגר של צד שלישי כדי לאפשר לכם לערוך את התוכן שלו ולהריץ אותו בסביבת עבודה לפיתוח ב-Dataform.
דף המאגר של Dataform מורכב מהרכיבים הבאים:
- הכרטיסייה 'סביבות עבודה לפיתוח'
- הצגת סביבות עבודה לפיתוח שנוצרו במאגר.
- הכרטיסייה 'יומני ביצוע של תהליכי עבודה'
- הצגת יומני הביצוע של תהליכי עבודה ב-Dataform.
- הכרטיסייה 'הפצה ותזמון'
- אפשר לבדוק, ליצור, לערוך ולמחוק הגדרות של גרסאות והגדרות של תהליכי עבודה.
- הכרטיסייה 'הגדרות'
- השם והמיקום של המאגר. אם המאגר מחובר למאגר Git של צד שלישי, מוצגים מקור המאגר של הצד השלישי, שם ברירת המחדל של הענף וטוקן סודי. מוצגים הלחצנים לחיבור המאגר למאגר Git של צד שלישי ולעריכת חיבור Git.
- כפתור ליצירת סביבת עבודה לפיתוח
- אפשר ליצור סביבת עבודה לפיתוח.
אחרי שיוצרים ומפעילים סביבת פיתוח, אפשר לערוך את קובץ הגדרות תהליך העבודה כדי להגדיר את ההגדרות הבאות של Dataform במאגר:
- מסד הנתונים שמוגדר כברירת מחדל (Google Cloud מזהה הפרויקט).
- סכימת ברירת המחדל (מזהה מערך הנתונים ב-BigQuery).
- מיקום ברירת המחדל ב-BigQuery.
- סכימת ברירת המחדל (מזהה מערך הנתונים ב-BigQuery) לאישורים.
- המחסן, שחייב להיות מוגדר כ-
bigquery. - משתנים שהוגדרו על ידי המשתמש וזמינים לקוד הפרויקט במהלך ההידור.
מידע נוסף על הגדרות מאגר Dataform זמין במאמר בנושא IProjectConfig במאמר העזר בנושא Dataform Core.
הגדרות המאגר
כשיוצרים מאגר Dataform, צריך להגדיר את ההגדרות הבאות של המאגר:
- מזהה מאגר
- מזהה ייחודי של המאגר. המזהים יכולים לכלול רק מספרים, אותיות, מקפים וקווים תחתונים.
- אזור
אזור Dataform לאחסון המאגר והתכנים שלו.
אזור האחסון הזה יכול להיות שונה מאזור העיבוד שבו Dataform מעבד את הקוד ומאחסן את הפלט של ההרצות. כברירת מחדל, אזור העיבוד מוגדר לאזור ברירת המחדל של מערך הנתונים של BigQuery. אחרי שיוצרים את המאגר, אפשר לערוך את אזור העיבוד בקובץ ההגדרות של תהליך העבודה. מידע נוסף זמין במאמר הגדרת הגדרות של תהליכי עבודה ב-Dataform.
- חשבון שירות
חשבון השירות המותאם אישית שמשויך למאגר. אפשר לבחור חשבון שירות שמשויך לפרויקט או להזין ידנית חשבון שירות אחר. Google Cloud
כדי להריץ תהליכי עבודה במאגר, צריך להשתמש בחשבון שירות בהתאמה אישית. כל הפעולות האחרות במאגר מתבצעות על ידי סוכן השירות של Dataform שמוגדר כברירת מחדל.
- מצב קפדני של פעולה בשם אחר
הפעלה של בדיקת אבטחה נוספת שנדרשת עבורה ההרשאה
iam.serviceAccounts.actAsבחשבון השירות. מצב פעולה קפדני מופעל בכל המאגרים.- הצפנה
שיטת ההצפנה של המאגר. אתם יכולים להשתמש בהצפנת ברירת המחדל, במפתח הצפנה ייחודי בניהול הלקוח ב-Cloud KMS או במפתח ברירת המחדל של Dataform CMEK. מידע נוסף על שימוש במפתחות הצפנה בניהול הלקוח (CMEK) ב-Dataform זמין במאמר שימוש במפתחות הצפנה בניהול הלקוח.
אחרי שיוצרים מאגר, אפשר לקשר אותו ל-GitHub או ל-GitLab.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery and Dataform APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery and Dataform APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.- כדי להשתמש בהצפנת CMEK למאגר, מפעילים הצפנת CMEK של מאגרי Dataform.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירה ולמחיקה של מאגר, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים במאגרים:
- אדמין Dataform (
roles/dataform.admin) – הפרויקט - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) – חשבון השירות המותאם אישית
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
מתן התפקידים הנדרשים
כדי להריץ תהליכי עבודה במאגר Dataform וב-BigQuery, אפשר להשתמש בחשבון שירות בהתאמה אישית או בחשבון Google.
לחשבון השירות בהתאמה אישית צריכים להיות התפקידים הנדרשים הבאים:
- עריכה של נתוני BigQuery
(
roles/bigquery.dataEditor) בפרויקטים או במערכי נתונים ספציפיים של BigQuery ש-Dataform צריכה גישת קריאה וכתיבה אליהם. בדרך כלל זה כולל את הפרויקט שמארח את מאגר Dataform. - BigQuery Data Viewer
(
roles/bigquery.dataViewer) בפרויקטים או במערכי נתונים ספציפיים ב-BigQuery ש-Dataform צריכה גישה לקריאה בלבד אליהם. - BigQuery Job User
(
roles/bigquery.jobUser) בפרויקט שמארח את מאגר Dataform.
כדי לאפשר ל-Dataform להשתמש בחשבון השירות בהתאמה אישית, לסוכן השירות שמוגדר כברירת מחדל ב-Dataform צריכים להיות התפקידים הבאים במשאב של חשבון השירות בהתאמה אישית:
- יצירת אסימונים בחשבון שירות
(
roles/iam.serviceAccountTokenCreator) - משתמש בחשבון שירות
(
roles/iam.serviceAccountUser)
כדי להקצות את התפקידים האלה:
נכנסים לדף IAM במסוף Google Cloud .
לוחצים על הענקת גישה.
בשדה New principals, מזינים את המזהה של חשבון השירות המותאם אישית.
בתפריט Select a role (בחירת תפקיד), בוחרים את התפקידים הבאים אחד אחרי השני. כדי להוסיף עוד תפקידים, לוחצים על Add another role (הוספת תפקיד נוסף):
- עריכה של נתוני BigQuery
- BigQuery Data Viewer (צפייה בנתוני BigQuery)
- BigQuery Job User
לוחצים על Save.
נכנסים לדף Service accounts במסוף Google Cloud .
בוחרים את חשבון השירות המותאם אישית.
עוברים אל Principals with access ולוחצים על Grant access.
בשדה New principals, מזינים את מזהה סוכן השירות שמוגדר כברירת מחדל ב-Dataform.
מזהה סוכן השירות שמוגדר כברירת מחדל ב-Dataform הוא בפורמט הבא:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.comמחליפים את
PROJECT_NUMBERבמזהה המספרי שלGoogle Cloud הפרויקט. אפשר לראות את Google Cloud מזהה הפרויקט בלוח הבקרה של המסוף.Google Cloud מידע נוסף זמין במאמר איך מוצאים את השם, המספר והמזהה של הפרויקט.ברשימה Select a role, מוסיפים את התפקידים הבאים:
- משתמש בחשבון שירות
- יצירת אסימונים בחשבון שירות
לוחצים על Save.
מידע נוסף על הקצאת תפקידים זמין במאמר הקצאת הגישה הנדרשת ל-Dataform.
יצירת מאגר
כדי ליצור מאגר Dataform:
נכנסים לדף Dataform במסוף Google Cloud .
לוחצים על יצירת מאגר.
בדף Create repository, בשדה Repository ID, מזינים מזהה ייחודי.
המזהים יכולים לכלול רק מספרים, אותיות, מקפים וקווים תחתונים.
ברשימה הנפתחת Region, בוחרים אזור Dataform לאחסון המאגר והתוכן שלו. בוחרים את האזור ב-Dataform שהכי קרוב למיקום שלכם.
רשימת האזורים הזמינים ב-Dataform מופיעה במאמר בנושא מיקומים. האזור של המאגר לא צריך להיות זהה למיקום של מערכי הנתונים ב-BigQuery.
בקובץ
workflow_settings.yaml, אפשר להגדיר את אזור העיבוד שבו Dataform מעבד את הקוד ומאחסן את הפלט של ההרצות. האזור שבו מתבצע העיבוד צריך להיות זהה למיקום של מערכי הנתונים ב-BigQuery, אבל לא צריך להיות זהה לאזור של המאגר. מידע נוסף זמין במאמר הגדרת הגדרות של תהליכי עבודה ב-Dataform.בתפריט Service account, בוחרים חשבון שירות מותאם אישית למאגר.
בתפריט, אפשר לבחור חשבון שירות מותאם אישית שמשויך לGoogle Cloud פרויקט שיש לכם גישה אליו. חשבונות שירות בהתאמה אישית משמשים רק להרצת תהליכי עבודה. כל הפעולות האחרות במאגר מבוצעות על ידי סוכן השירות שמוגדר כברירת מחדל ב-Dataform.
- אופציונלי: כדי לבחור חשבון שירות שלא מוצג בתפריט – למשל, אם אין לכם את ההרשאה
iam.serviceAccounts.listשנדרשת כדי לראות את רשימת התפקידים – לוחצים על Enter manually ומזינים את מזהה חשבון השירות.
- אופציונלי: כדי לבחור חשבון שירות שלא מוצג בתפריט – למשל, אם אין לכם את ההרשאה
בקטע actAs permission checks (בדיקות הרשאות actAs), אוכפים את בדיקות ההרשאות על פעולות משתמש במאגר. פרטים על הבדיקות האלה מופיעים במאמר בנושא שימוש במצב 'פועל בתור' מחמיר.
מגדירים את מנגנון ההצפנה שנבחר למאגר:
מפתח CMEK שמוגדר כברירת מחדל
תיבת הסימון Use the default KMS key (שימוש במפתח ברירת המחדל של KMS) מוצגת ב-Dataform ומסומנת כברירת מחדל.
- כדי להצפין את המאגר באמצעות מפתח ברירת המחדל של Dataform CMEK, משאירים את תיבת הסימון Use the default KMS key (שימוש במפתח ברירת המחדל של KMS) מסומנת.
מפתח CMEK ייחודי
כדי להצפין את המאגר באמצעות מפתח CMEK ייחודי, מבצעים את הפעולות הבאות:
- אם תיבת הסימון Use the default KMS key (שימוש במפתח KMS שמשמש כברירת מחדל) מסומנת כברירת מחדל, צריך לבטל את הסימון שלה.
- בקטע Encryption, בוחרים באפשרות Customer-managed encryption keys (CMEK).
- בתפריט הנפתח Select a customer-managed key, בוחרים מפתח CMEK ייחודי.
הצפנה במנוחה
- כדי להשתמש בהצפנה שמוגדרת כברירת מחדל, בוחרים באפשרות Google-managed encryption key בקטע Encryption.
לוחצים על יצירה ואז על מעבר למאגרי מידע.
עריכה של חשבון השירות
כדי להריץ תהליכי עבודה במאגר, צריך להשתמש בחשבון שירות בהתאמה אישית. כל הפעולות האחרות במאגר מתבצעות על ידי סוכן השירות של Dataform שמוגדר כברירת מחדל.
כדי לערוך את חשבון השירות של מאגר Dataform, פועלים לפי השלבים הבאים:
נכנסים לדף Dataform במסוף Google Cloud .
בוחרים מאגר ואז לוחצים על הגדרות.
לצד השדה חשבון שירות, לוחצים על עריכת חשבון שירות.
בתפריט Service account בוחרים חשבון שירות למאגר.
בתפריט, אפשר לבחור חשבון שירות מותאם אישית שמשויך לGoogle Cloud פרויקט שיש לכם גישה אליו.
- אופציונלי: כדי לבחור חשבון שירות שלא מוצג בתפריט, לוחצים על Enter manually ומזינים מזהה של חשבון שירות.
לוחצים על Save.
מחיקת מאגר
כדי למחוק מאגר וכל התוכן שלו, פועלים לפי השלבים הבאים:
נכנסים לדף Dataform במסוף Google Cloud .
לצד המאגר שרוצים למחוק, לוחצים על תפריט האפשרויות הנוספות ואז בוחרים באפשרות מחיקה.
בחלון Delete repository (מחיקת מאגר), מזינים את שם המאגר כדי לאשר את המחיקה.
לוחצים על Delete.
המאמרים הבאים
- כאן מוסבר איך לקשר מאגר Dataform למאגר Git של צד שלישי.
- מידע נוסף על ההשפעה של גודל המאגר על הפיתוח ב-Dataform זמין במאמר סקירה כללית על גודל המאגר.
- מידע נוסף על פיצול מאגר ב-Dataform זמין במאמר מבוא לפיצול מאגרים.
- איך מגדירים את ההגדרות של עיבוד ב-Dataform
- במאמר יצירת סביבת עבודה מוסבר איך ליצור סביבת עבודה ולהפעיל אותה.