יצירת סביבות פיתוח
במדריך למתחילים הזה מוסבר איך ליצור סביבות פיתוח נפרדות ב-Dataform, כדי שכל מפתח יוכל לעבוד בסביבת פיתוח משלו:
- יצירת מאגר Dataform.
- הקצאת התפקידים הנדרשים.
הגדרת שינויים מברירת המחדל בהידור של סביבת העבודה.
הגדרת שינויים בהידור ש-Dataform מחיל על כל סביבות העבודה במאגר, והופך את סביבות העבודה לסביבות פיתוח מבודדות.
לפני שמתחילים
- נכנסים לחשבון 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
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
בנוסף, אם רוצים להשתמש בחשבון שירות בהתאמה אישית כדי להריץ תהליכי עבודה ב-BigQuery, בוחרים או יוצרים חשבון שירות בהתאמה אישית.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לביצוע כל המשימות במדריך למתחילים הזה, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
- אדמין של Dataform (
roles/dataform.admin) במאגר - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בחשבון השירות המותאם אישית - אדמין IAM של פרויקט (
roles/resourcemanager.projectIamAdmin) בפרויקט
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
מתן התפקידים הנדרשים
כדי להריץ תהליכי עבודה ב-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 (יצירת מאגר).
בדף Create repository, מבצעים את הפעולות הבאות:
בשדה Repository ID (מזהה המאגר), מזינים
quickstart-dev.ברשימה Region בוחרים באזור
europe-west4.ברשימה Service account, בוחרים חשבון שירות בהתאמה אישית עבור המאגר.
בקטע actAs permission checks (בדיקות הרשאות actAs), אוכפים את בדיקות ההרשאות על פעולות משתמש במאגר.
לוחצים על יצירה.
לוחצים על מעבר למאגרי מידע.
הגדרת שינויים מברירת המחדל בהידור של סביבת עבודה
כדי ליצור סביבות פיתוח מבודדות עם שינויים בהידור של סביבת העבודה ב-Dataform:
נכנסים לדף Dataform במסוף Google Cloud .
לחץ על
quickstart-dev.לוחצים על הגדרות ואז על עריכה.
בחלונית Workspace compilation overrides, בשדה Schema suffix, מזינים
${workspaceName}.כשמפעילים ריצה בסביבת עבודה, אפליקציית Dataform מוסיפה את שם סביבת העבודה כסיומת לסכימה שמוגדרת כברירת מחדל בהגדרות של זרימת עבודה. במדריך הזה נשתמש בהגדרות ברירת המחדל של Dataform עם סכימת ברירת המחדל
dataform.לוחצים על Save.
Dataform מחיל שינויים בהגדרות של קומפילציה של סביבת עבודה על כל סביבות העבודה במאגר.
בהגדרה הזו, כשמריצים ידנית תהליך עבודה בסביבת עבודה, Dataform מריץ אותו עם שינויים בהידור של סביבת העבודה.
כתוצאה מכך, Dataform מריץ את תהליך העבודה בסכימה dataform_workspaceName ב-BigQuery, והופך את סביבת העבודה לסביבת פיתוח מבודדת.
לדוגמה, כשמפעילים ידנית הרצה בסביבת עבודה sasha, Dataform מריץ את זרימת העבודה בסכימה dataform_sasha ב-BigQuery.
כדי להריץ תהליכי עבודה בלי שינויים מברירת המחדל של קומפילציית סביבת העבודה, אבל להשאיר את השינויים מברירת המחדל של קומפילציית סביבת העבודה לסביבות פיתוח, אפשר ליצור הגדרות של גרסאות הפצה כדי להגדיר סביבות הפעלה אחרות, למשל, staging ו-production.
הסרת המשאבים
כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:
מחיקת מערכי נתונים שנוצרו ב-BigQuery
כדי להימנע מחיובים על נכסי BigQuery, צריך למחוק מערכי נתונים שהשמות שלהם מתחילים ב-dataform, למשל dataform-sasha.
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית Explorer מרחיבים את הפרויקט ובוחרים מערך נתונים.
לוחצים על התפריט פעולות ואז על מחיקה.
בתיבת הדו-שיח מחיקת מערך נתונים, מזינים
deleteבשדה ולוחצים על מחיקה.
מחיקת מאגר Dataform
אין עלויות שקשורות ליצירת מאגרי Dataform. עם זאת, אם רוצים למחוק מאגר ואת כל התוכן שלו, צריך לפעול לפי השלבים הבאים:
נכנסים לדף Dataform במסוף Google Cloud .
ליד
quickstart-dev, לוחצים על סמל האפשרויות הנוספות ובוחרים באפשרות מחיקה.- בחלון Delete repository (מחיקת מאגר), מזינים את שם המאגר כדי לאשר את המחיקה.
כדי לאשר, לוחצים על מחיקה.
המאמרים הבאים
- מידע נוסף על חשבונות שירות זמין במאמר מידע על חשבונות שירות בהתאמה אישית וסוכני שירות של Dataform.
- מידע נוסף על מחזור החיים של הקוד ב-Dataform זמין במאמר מבוא למחזור החיים של הקוד ב-Dataform.
- מידע נוסף על שיטות מומלצות לניהול מחזור החיים של תהליכי עבודה ב-Dataform זמין במאמר בנושא שיטות מומלצות לניהול מחזור החיים של תהליכי עבודה.
- מידע נוסף על שינויים בהגדרות של קומפילציה של סביבת עבודה ב-Dataform זמין במאמר בנושא יצירת שינויים בהגדרות של קומפילציה של סביבת עבודה.
- במאמר תזמון הרצות של עדכונים מוסבר איך לתזמן הרצות של עדכונים ב-Dataform.