חיבור מאגר Git והרצת תהליך עבודה
במדריך הזה מוסבר איך ליצור מאגר Dataform, לקשר אותו למאגר Git קיים של צד שלישי ולהריץ תהליך עבודה. אפשר לבצע את המשימות הבאות באמצעות מסוףGoogle Cloud ו-Dataform API:
- יוצרים מאגר Dataform.
- חיבור המאגר אל
dataform-co/dataform-example-project-bigqueryמאגר GitHub. - יוצרים ומפעילים סביבת עבודה לפיתוח.
- הוספת תצוגה חדשה לפרויקט.
- קומפילציה של הפרויקט והרצת תהליך העבודה ב-BigQuery.
לפני שמתחילים
- נכנסים לחשבון 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, Dataform, and Secret Manager 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, Dataform, and Secret Manager 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.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לביצוע כל המשימות במדריך למתחילים הזה, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
- אדמין Dataform (
roles/dataform.admin) בפרויקט או במאגר - BigQuery Data Editor (
roles/bigquery.dataEditor) בפרויקט או במערכי נתונים ספציפיים - BigQuery Job User (
roles/bigquery.jobUser) בפרויקט - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בחשבון השירות המותאם אישית
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת מאגר Dataform
מאגר הוא הקונטיינר הראשי של פרויקט Dataform. בוחרים באחת מהאפשרויות הבאות:
המסוף
עוברים לדף Dataform ב-BigQuery.
לוחצים על Create repository (יצירת מאגר).
בדף Create repository, מבצעים את הפעולות הבאות:
- בשדה Repository ID (מזהה המאגר), מזינים
quickstart-repo. - ברשימה Region בוחרים אזור – לדוגמה,
europe-west4. - ברשימה Service account, בוחרים חשבון שירות בהתאמה אישית למאגר.
- לוחצים על יצירה.
- לוחצים על מעבר למאגרי מידע.
- בשדה Repository ID (מזהה המאגר), מזינים
יצרת בהצלחה מאגר Dataform. בשלב הבא, אפשר לקשר את מאגר Dataform למאגר Git מרוחק.
API
כדי ליצור מאגר, משתמשים ב-projects.locations.repositories.create method.
מריצים את בקשת ה-API עם הפרטים הבאים:
- נקודת קצה:
POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories - פרמטר של שאילתה:
repositoryId=REPOSITORY_ID
לחלופין, בטרמינל, מריצים את הפקודה curl הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"serviceAccount": "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com"}' \
"https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories?repositoryId=REPOSITORY_ID"
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה הייחודי שלGoogle Cloud הפרויקט שבו רוצים ליצור את מאגר Dataform. -
LOCATION: Google Cloud האזור שבו רוצים ליצור את המאגר, לדוגמהeurope-west4. -
REPOSITORY_ID: המזהה הייחודי של מאגר Dataform החדש, לדוגמהquickstart-repo. -
SERVICE_ACCOUNT_NAME: המזהה של חשבון השירות המותאם אישית שנוצר כדי להריץ משימות ב-BigQuery.
יצרתם בהצלחה מאגר Dataform. בשלב הבא, אפשר לקשר את מאגר Dataform למאגר Git מרוחק.
התחברות למאגר Git
כדי לחבר את מאגר Dataform לפרויקט, בוחרים באחת מהאפשרויות הבאות:
המסוף
עוברים לדף Secret Manager.
לוחצים על Create secret (יצירת סוד).
בשדה שם מזינים
dataform-git-token.בשדה Secret value (ערך סודי), מזינים את טוקן הגישה האישי (PAT) שלכם ב-GitHub.
הוראות ליצירת PAT מופיעות במאמר ניהול אסימוני גישה אישיים.
מומלץ להגדיר תאריך תפוגה לטוקן בהתאם למדיניות האבטחה של הארגון.
לוחצים על Create secret (יצירת סוד).
בדף הפרטים של הסוד, לוחצים על הכרטיסייה הרשאות ואז על Grant access.
בשדה New principals, מזינים את סוכן השירות של Dataform:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com.מחליפים את
PROJECT_NUMBERבמספר הפרויקט ב-Google Cloud . פרטים נוספים על איתור מספר הפרויקט זמינים במאמר בנושא איך למצוא את השם, המספר והמזהה של הפרויקט.בשדה Select a role בוחרים באפשרות Secret Manager > Secret Manager Secret Accessor.
לוחצים על Save.
נכנסים לדף Dataform במסוף Google Cloud .
לוחצים על
quickstart-repo.בדף המאגר, לוחצים על הגדרות > חיבור ל-Git.
בחלונית Link to remote repository, בוחרים באפשרות HTTPS.
בשדה כתובת ה-URL של מאגר Git מרוחק, מזינים
https://github.com/dataform-co/dataform-example-project-bigquery.git.בשדה Default remote branch name, מזינים
master.בתפריט סודי, בוחרים באפשרות
dataform-git-token.לוחצים על קישור.
חיברתם בהצלחה את מאגר Dataform למאגר Git מרוחק והענקתם את ההרשאות הנדרשות. לאחר מכן, תוכלו ליצור סביבת עבודה לפיתוח ולהפעיל אותה.
API
כדי לאחסן את אסימון הגישה האישי של Git, יוצרים סוד ב-Secret Manager באמצעות השיטה
projects.secrets.create. מריצים את בקשת ה-API עם הפרטים הבאים:- נקודת קצה:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets - פרמטר של שאילתה:
secretId=dataform-git-token Body:
{ "replication": { "automatic": {} } }
לחלופין, בטרמינל, מריצים את הפקודה
curlהבאה:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "replication": { "automatic": {} } }' \ "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=dataform-git-token"- נקודת קצה:
מוסיפים גרסה לסוד שמכילה את הטוקן האישי לגישה (PAT) שלכם ב-GitHub. הוראות ליצירת PAT מופיעות במאמר ניהול אסימוני גישה אישיים. מומלץ להגדיר תאריך תפוגה לטוקן בהתאם למדיניות האבטחה של הארגון.
כדי להוסיף גרסת סוד, משתמשים בשיטה
projects.secrets.addVersion. מריצים את בקשת ה-API עם הפרטים הבאים:- נקודת קצה:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/dataform-git-token:addVersion Body:
{ "payload": { "data": "GITHUB_PAT" } }
לחלופין, בטרמינל, מריצים את הפקודה
curlהבאה:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "payload": { "data": "$(echo -n "GITHUB_PAT" | base64)" } }' \ "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/dataform-git-token:addVersion"מחליפים את
GITHUB_PATבאסימון הגישה האישי שלכם ב-GitHub. הפקודהcurlממירה אוטומטית את ה-PAT למחרוזת עם קידוד Base64 לפני שליחת הבקשה.- נקודת קצה:
כדי לאפשר ל-Dataform לגשת לסוד, צריך להעניק לסוכן השירות של Dataform את התפקיד Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor). כדי להקצות את התפקיד, בוחרים באחת מהאפשרויות הבאות:gcloud
מריצים את הפקודה
gcloud secrets add-iam-policy-binding:gcloud secrets add-iam-policy-binding dataform-git-token \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com" \ --role="roles/secretmanager.secretAccessor"מחליפים את
PROJECT_NUMBERבמספר הפרויקט ב-Google Cloud . פרטים נוספים על איתור מספר הפרויקט זמינים במאמר בנושא איך למצוא את השם, המספר והמזהה של הפרויקט.Secret Manager API
משתמשים בשיטה
projects.secrets.setIamPolicy. מריצים את בקשת ה-API עם הפרטים הבאים:- נקודת קצה:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/dataform-git-token:setIamPolicy Body:
{ "policy": { "bindings": [ { "role": "roles/secretmanager.secretAccessor", "members": [ "serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com" ] } ] } }
לחלופין, בטרמינל, מריצים את הפקודה
curlהבאה:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "policy": { "bindings": [ { "role": "roles/secretmanager.secretAccessor", "members": [ "serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com" ] } ] } }' \ "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/dataform-git-token:setIamPolicy"מחליפים את
PROJECT_NUMBERבמספר הפרויקט ב-Google Cloud . לפרטים על איתור מספר הפרויקט, אפשר לעיין במאמר איך למצוא את השם, המספר והמזהה של הפרויקט.- נקודת קצה:
כדי לקשר את המאגר למאגר Git מרוחק, משתמשים בשיטה
projects.locations.repositories.patch. מריצים את בקשת ה-API עם הפרטים הבאים:- נקודת קצה:
PATCH https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID - פרמטר של שאילתה:
updateMask=gitRemoteSettings
לחלופין, בטרמינל, מריצים את הפקודה
curlהבאה:curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "gitRemoteSettings": { "url": "https://github.com/dataform-co/dataform-example-project-bigquery.git", "defaultBranch": "master", "authenticationTokenSecretVersion": "projects/PROJECT_ID/secrets/dataform-git-token/versions/1" } }' \ "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID?updateMask=gitRemoteSettings"- נקודת קצה:
חיברתם בהצלחה את מאגר Dataform למאגר Git מרוחק והענקתם את ההרשאות הנדרשות. לאחר מכן, תוכלו ליצור סביבת עבודה לפיתוח ולהפעיל אותה.
יצירה ואתחול של סביבת עבודה לפיתוח
סביבת עבודה היא סביבת פיתוח מבודדת. כדי ליצור סביבת עבודה ולהפעיל אותה, בוחרים באחת מהאפשרויות הבאות:
המסוף
עוברים לדף Dataform ב-BigQuery.
לוחצים על
quickstart-repo.במאגר, עוברים לכרטיסייה Development Workspaces (סביבות עבודה לפיתוח).
לוחצים על יצירת סביבת עבודה לפיתוח.
בשדה מזהה Workspace, מזינים את הערך
dev-workspace.לוחצים על יצירה.
בכרטיסייה סביבות עבודה לפיתוח, בוחרים את סביבת העבודה
dev-workspace.
יצרת והפעלת בהצלחה סביבת עבודה לפיתוח. בשלב הבא, אפשר להגדיר את ההגדרות של תהליך העבודה.
API
כדי ליצור סביבת עבודה, משתמשים ב-projects.locations.repositories.workspaces.create method.
מריצים את בקשת ה-API עם הפרטים הבאים:
- נקודת קצה:
POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces - פרמטר של שאילתה:
workspaceId=WORKSPACE_ID
לחלופין, בטרמינל, מריצים את הפקודה curl הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "{}" \
"https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces?workspaceId=WORKSPACE_ID"
מחליפים את WORKSPACE_ID במזהה הייחודי של סביבת הפיתוח החדשה של Dataform, לדוגמה, dev-workspace.
יצרת והפעלת בהצלחה סביבת עבודה לפיתוח. בשלב הבא, אפשר להגדיר את ההגדרות של תהליך העבודה.
הגדרת הגדרות של תהליכי עבודה
בקטע הזה מעדכנים את מזהה הפרויקט בקובץ workflow_settings.yaml
כדי לוודא ש-Dataform יפעיל את תהליך העבודה בפרויקטGoogle Cloud שלכם. כדי להגדיר את ההגדרות של תהליך העבודה, בוחרים באחת מהאפשרויות הבאות:
המסוף
עוברים לדף Dataform ב-BigQuery.
לוחצים על
quickstart-repo.במאגר, עוברים לכרטיסייה Development Workspaces (סביבות עבודה לפיתוח) ולוחצים על
dev-workspace.בחלונית קבצים, בוחרים באפשרות
workflow_settings.yaml.בקובץ, מחליפים את הערך של
defaultProjectבמזהה הפרויקט.הקובץ נשמר באופן אוטומטי.
עדכנתם את הגדרות תהליך העבודה. אחר כך אפשר להוסיף הצהרת מקור חדשה לפרויקט.
API
יוצרים קובץ מקומי בשם
workflow_settings.yamlומדביקים בו את ההגדרות הבאות:defaultProject: PROJECT_ID defaultDataset: dataform dataformCoreVersion: CORE_VERSIONמחליפים את
CORE_VERSIONבגרסה היציבה העדכנית (לא בטא) של Dataform Core – לדוגמה,3.0.43. הגרסה העדכנית מופיעה בגרסאות.בטרמינל, מקודדים את תוכן הקובץ למחרוזת Base64:
base64 -w 0 workflow_settings.yamlמעתיקים את מחרוזת הפלט שמתקבלת כדי להשתמש בה ב-placeholder
SETTINGS_DEFINITIONאם מחליטים להשתמש בפקודה החלופיתcurlבהמשך השלבים האלה.כדי לעדכן את הגדרות תהליך העבודה, משתמשים בשיטה
projects.locations.repositories.workspaces.writeFile. מריצים את בקשת ה-API עם הפרטים הבאים:- נקודת קצה:
POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile
לחלופין, בטרמינל, מריצים את הפקודה
curlהבאה:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "path": "workflow_settings.yaml", "contents": "SETTINGS_DEFINITION" }' \ "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile"מחליפים את
SETTINGS_DEFINITIONבתוכן של קובץ ה-YAML כמחרוזת בקידוד Base64.- נקודת קצה:
עדכנתם את הגדרות תהליך העבודה. אחר כך אפשר להוסיף הצהרת מקור חדשה לפרויקט.
יצירת מקור
בקטע הזה מוסיפים לפרויקט הצהרה חדשה על מקור SQLX שמגדירה מערך נתונים קיים ב-BigQuery, כדי ש-Dataform יוכל להתייחס אליו כמקור נתונים בתהליך העבודה. כדי ליצור את המקור החדש, בוחרים באחת מהאפשרויות הבאות:
המסוף
עוברים לדף Dataform ב-BigQuery.
לוחצים על
quickstart-repo.במאגר, עוברים לכרטיסייה Development Workspaces (סביבות עבודה לפיתוח) ולוחצים על
dev-workspace.בחלונית Files (קבצים), בוחרים בתיקייה
definitions.לוחצים על סמל האפשרויות הנוספות > יצירת קובץ.
בשדה Add a file path (הוספת נתיב קובץ), מזינים את הערך
definitions/sources/tags.sqlx.לוחצים על יצירת קובץ.
בעורך ה-SQL של קובץ
definitions/sources/tags.sqlxהחדש, מדביקים את הקוד הבא:config { type: "declaration", database: "bigquery-public-data", schema: "stackoverflow", name: "tags" }
יצרת בהצלחה הצהרת מקור. אחר כך תוכלו להוסיף תצוגה חדשה לפרויקט.
API
- יוצרים קובץ מקומי בשם
tags.sqlx. מדביקים את הקוד הבא לקובץ
tags.sqlx:config { type: "declaration", database: "bigquery-public-data", schema: "stackoverflow", name: "tags" }במסוף, מקודדים את תוכן הקובץ למחרוזת רציפה אחת:
base64 -w 0 tags.sqlxמעתיקים את מחרוזת הפלט שמתקבלת כדי להשתמש בה ב-placeholder
SOURCE_DEFINITIONאם מחליטים להשתמש בפקודה החלופיתcurlבהמשך השלבים האלה.כדי ליצור קובץ הצהרת מקור בסביבת העבודה, משתמשים בשיטה
projects.locations.repositories.workspaces.writeFile. מריצים את בקשת ה-API עם הפרטים הבאים:- נקודת קצה:
POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile
לחלופין, בטרמינל, מריצים את הפקודה
curlהבאה:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "path": "definitions/sources/tags.sqlx", "contents": "SOURCE_DEFINITION" }' \ "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile"מחליפים את
SOURCE_DEFINITIONבתוכן של קובץ ה-SQLX כמחרוזת בקידוד Base64.- נקודת קצה:
יצרת בהצלחה הצהרת מקור. אחר כך תוכלו להוסיף תצוגה חדשה לפרויקט.
יצירת תצוגה
בקטע הזה מוסיפים לפרויקט קובץ SQLX חדש שמגדיר תצוגה. כדי ליצור את התצוגה החדשה, בוחרים באחת מהאפשרויות הבאות:
המסוף
עוברים לדף Dataform ב-BigQuery.
לוחצים על
quickstart-repo.במאגר, עוברים לכרטיסייה Development Workspaces (סביבות עבודה לפיתוח) ולוחצים על
dev-workspace.בחלונית Files (קבצים), בוחרים בתיקייה
definitions.לוחצים על סמל האפשרויות הנוספות > יצירת קובץ.
בשדה Add a file path (הוספת נתיב קובץ), מזינים את הערך
definitions/top_question_tags.sqlx.לוחצים על יצירת קובץ.
בעורך ה-SQL של הקובץ החדש
definitions/top_question_tags.sqlx, מדביקים את הקוד הבא:config { type: "view", name: "top_question_tags", tags: ["daily"], schema: "reporting", } select tag_name, count from ${ref("tags")} order by count desc limit 100
יצרתם תצוגה בהצלחה. בשלב הבא אפשר לקמפל את הפרויקט.
API
- יוצרים קובץ מקומי בשם
top_question_tags.sqlx. מדביקים את הקוד הבא לקובץ
top_question_tags.sqlx:config { type: "view", name: "top_question_tags", tags: ["daily"], schema: "reporting", } select tag_name, count from ${ref("tags")} order by count desc limit 100במסוף, מקודדים את תוכן הקובץ למחרוזת רציפה אחת:
base64 -w 0 top_question_tags.sqlxמעתיקים את מחרוזת הפלט שמתקבלת כדי להשתמש בה ב-placeholder
VIEW_DEFINITIONאם מחליטים להשתמש בפקודה החלופיתcurlבהמשך השלבים האלה.כדי ליצור קובץ הגדרת תצוגה בסביבת העבודה, משתמשים בשיטה
projects.locations.repositories.workspaces.writeFile. מריצים את בקשת ה-API עם הפרטים הבאים:- נקודת קצה:
POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile
לחלופין, בטרמינל, מריצים את הפקודה
curlהבאה:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "path": "definitions/top_question_tags.sqlx", "contents": "VIEW_DEFINITION" }' \ "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile"מחליפים את הערך
VIEW_DEFINITIONבתוכן של קובץ ה-SQLX כמחרוזת בקידוד Base64.- נקודת קצה:
יצרתם תצוגה מפורטת. בשלב הבא אפשר לקמפל את הפרויקט.
קומפילציה של הפרויקט
הקומפילציה ממירה קובצי SQLX לגרף ביצוע של SQL טהור. כדי לקמפל את הפרויקט, בוחרים באחת מהאפשרויות הבאות:
המסוף
המסוף Google Cloud מבצע קומפילציה של הפרויקט באופן אוטומטי. אפשר לוודא את ההידור בכרטיסייה תרשים מהודר בסביבת העבודה.
הפרויקט עבר קומפילציה בהצלחה וגרף הביצוע אומת. לאחר מכן, תוכלו להריץ את תהליך העבודה ב-BigQuery.
API
כדי ליצור תוצאת אוסף על סמך סביבת העבודה, משתמשים בmethod
projects.locations.repositories.compilationResults.create. מריצים את בקשת ה-API עם הפרטים הבאים:- נקודת קצה:
POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults
לחלופין, בטרמינל, מריצים את הפקודה
curlהבאה:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "workspace": "projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID" }' \ "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults"- נקודת קצה:
כדי לוודא שהפרויקט עבר קומפילציה בהצלחה, משתמשים בשיטה
projects.locations.repositories.compilationResults.get. מריצים את בקשת ה-API עם הפרטים הבאים:- נקודת קצה:
GET https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults/COMPILATION_ID
לחלופין, בטרמינל, מריצים את הפקודה
curlהבאה:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults/COMPILATION_ID"מחליפים את
COMPILATION_IDבמזהה הייחודי של תוצאת ההידור. המזהה הזה מופיע בתשובה לבקשת ההידור מהשלב הקודם.- נקודת קצה:
בודקים את השדה
compilationErrorsבתשובה. אם הרשימה ריקה, הקומפילציה של הפרויקט בוצעה בהצלחה.
הפרויקט עבר קומפילציה בהצלחה וגרף הביצוע אומת. לאחר מכן, תוכלו להריץ את תהליך העבודה ב-BigQuery.
הרצת תהליך העבודה
כדי להפעיל את זרימת העבודה ב-BigQuery, בוחרים באחת מהאפשרויות הבאות:
המסוף
עוברים לדף Dataform ב-BigQuery.
לוחצים על
quickstart-repo.במאגר, עוברים לכרטיסייה Development Workspaces (סביבות עבודה לפיתוח) ולוחצים על
dev-workspace.בסרגל הכלים, לוחצים על התחלת ההפעלה > הפעלת פעולות.
בוחרים באפשרות כל הפעולות.
לוחצים על התחלת ההרצה.
הפעלתם בהצלחה את תהליך העבודה.
API
כדי להפעיל קריאה של תהליך עבודה, משתמשים בשיטה projects.locations.repositories.workflowInvocations.create.
מריצים את בקשת ה-API עם הפרטים הבאים:
- נקודת קצה:
POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workflowInvocations
לחלופין, בטרמינל, מריצים את הפקודה curl הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"compilationResult": "projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults/COMPILATION_ID"
}' \
"https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workflowInvocations"
הפעלתם בהצלחה את תהליך העבודה.
הסרת המשאבים
כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:
מחיקת מערכי הנתונים ב-BigQuery
כדי להימנע מחיובים על נכסי BigQuery, צריך למחוק את מערכי הנתונים שנוצרו בתהליך העבודה הזה, כמו מערכי הנתונים שנקראים reporting ו-staging.
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית Explorer מרחיבים את הפרויקט ובוחרים מערך נתונים.
לוחצים על התפריט פעולות ואז על מחיקה.
בתיבת הדו-שיח מחיקת מערך נתונים, מזינים
deleteבשדה ולוחצים על מחיקה.
מחיקת הסוד ב-Secret Manager
כדי לפנות מקום במשאבי האבטחה, מוחקים את ה-Secret שמשמש לחיבור Git.
נכנסים לדף Secret Manager במסוף Google Cloud .
בוחרים את הסוד
dataform-git-token.לוחצים על Delete.
בתיבת הדו-שיח לאישור, מזינים את שם ה-Secret כדי לאשר את המחיקה ולוחצים על מחיקה.
מחיקת סביבת הפיתוח של Dataform
יצירת סביבת פיתוח ב-Dataform לא כרוכה בעלויות, אבל כדי למחוק את סביבת הפיתוח, פועלים לפי השלבים הבאים:
נכנסים לדף Dataform במסוף Google Cloud .
לוחצים על
quickstart-repo.בכרטיסייה סביבות עבודה לפיתוח, לוחצים על תפריט אפשרויות נוספות לצד
dev-workspaceואז בוחרים באפשרות מחיקה.כדי לאשר, לוחצים על מחיקה.
מחיקת מאגר Dataform
יצירת מאגר Dataform לא כרוכה בעלויות, אבל כדי למחוק את המאגר, צריך לפעול לפי השלבים הבאים:
נכנסים לדף Dataform במסוף Google Cloud .
ליד
quickstart-repo, לוחצים על תפריט האפשרויות הנוספות ואז בוחרים באפשרות מחיקה.בחלון Delete repository (מחיקת מאגר), מזינים את שם המאגר כדי לאשר את המחיקה.
כדי לאשר, לוחצים על מחיקה.
המאמרים הבאים
- מידע נוסף על הגדרת מקורות נתונים ב-Dataform זמין במאמר בנושא הגדרת מקור נתונים.
- במאמר יצירת טבלאות מוסבר איך ליצור תצוגות וטבלאות ב-Dataform.
- מידע נוסף על ניהול גרסאות ב-Dataform זמין במאמר ניהול גרסאות של הקוד.
- במאמר תזמון הרצות באמצעות הגדרות של תהליכי עבודה מוסבר איך לתזמן הרצות של תהליכי עבודה.