חיבור מאגר Git והרצת תהליך עבודה

במדריך הזה מוסבר איך ליצור מאגר Dataform, לקשר אותו למאגר Git קיים של צד שלישי ולהריץ תהליך עבודה. אפשר לבצע את המשימות הבאות באמצעות מסוףGoogle Cloud ו-Dataform API:

  • יוצרים מאגר Dataform.
  • חיבור המאגר אל dataform-co/dataform-example-project-bigquery מאגר GitHub.
  • יוצרים ומפעילים סביבת עבודה לפיתוח.
  • הוספת תצוגה חדשה לפרויקט.
  • קומפילציה של הפרויקט והרצת תהליך העבודה ב-BigQuery.

לפני שמתחילים

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות לביצוע כל המשימות במדריך למתחילים הזה, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

יצירת מאגר Dataform

מאגר הוא הקונטיינר הראשי של פרויקט Dataform. בוחרים באחת מהאפשרויות הבאות:

המסוף

  1. עוברים לדף Dataform ב-BigQuery.

    מעבר אל Dataform

  2. לוחצים על Create repository (יצירת מאגר).

  3. בדף Create repository, מבצעים את הפעולות הבאות:

    1. בשדה Repository ID (מזהה המאגר), מזינים quickstart-repo.
    2. ברשימה Region בוחרים אזור – לדוגמה, europe-west4.
    3. ברשימה Service account, בוחרים חשבון שירות בהתאמה אישית למאגר.
    4. לוחצים על יצירה.
    5. לוחצים על מעבר למאגרי מידע.

יצרת בהצלחה מאגר 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 לפרויקט, בוחרים באחת מהאפשרויות הבאות:

המסוף

  1. עוברים לדף Secret Manager.

    מעבר אל Secret Manager

  2. לוחצים על Create secret (יצירת סוד).

  3. בשדה שם מזינים dataform-git-token.

  4. בשדה Secret value (ערך סודי), מזינים את טוקן הגישה האישי (PAT) שלכם ב-GitHub.

    הוראות ליצירת PAT מופיעות במאמר ניהול אסימוני גישה אישיים.

    מומלץ להגדיר תאריך תפוגה לטוקן בהתאם למדיניות האבטחה של הארגון.

  5. לוחצים על Create secret (יצירת סוד).

  6. בדף הפרטים של הסוד, לוחצים על הכרטיסייה הרשאות ואז על Grant access.

  7. בשדה New principals, מזינים את סוכן השירות של Dataform: ‏ service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com.

    מחליפים את PROJECT_NUMBER במספר הפרויקט ב-Google Cloud . פרטים נוספים על איתור מספר הפרויקט זמינים במאמר בנושא איך למצוא את השם, המספר והמזהה של הפרויקט.

  8. בשדה Select a role בוחרים באפשרות Secret Manager > Secret Manager Secret Accessor.

  9. לוחצים על Save.

  10. נכנסים לדף Dataform במסוף Google Cloud .

    מעבר אל Dataform

  11. לוחצים על quickstart-repo.

  12. בדף המאגר, לוחצים על הגדרות > חיבור ל-Git.

  13. בחלונית Link to remote repository, בוחרים באפשרות HTTPS.

  14. בשדה כתובת ה-URL של מאגר Git מרוחק, מזינים https://github.com/dataform-co/dataform-example-project-bigquery.git.

  15. בשדה Default remote branch name, מזינים master.

  16. בתפריט סודי, בוחרים באפשרות dataform-git-token.

  17. לוחצים על קישור.

חיברתם בהצלחה את מאגר Dataform למאגר Git מרוחק והענקתם את ההרשאות הנדרשות. לאחר מכן, תוכלו ליצור סביבת עבודה לפיתוח ולהפעיל אותה.

API

  1. כדי לאחסן את אסימון הגישה האישי של 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"
    
  2. מוסיפים גרסה לסוד שמכילה את הטוקן האישי לגישה (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 לפני שליחת הבקשה.

  3. כדי לאפשר ל-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 . לפרטים על איתור מספר הפרויקט, אפשר לעיין במאמר איך למצוא את השם, המספר והמזהה של הפרויקט.

  4. כדי לקשר את המאגר למאגר 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 מרוחק והענקתם את ההרשאות הנדרשות. לאחר מכן, תוכלו ליצור סביבת עבודה לפיתוח ולהפעיל אותה.

יצירה ואתחול של סביבת עבודה לפיתוח

סביבת עבודה היא סביבת פיתוח מבודדת. כדי ליצור סביבת עבודה ולהפעיל אותה, בוחרים באחת מהאפשרויות הבאות:

המסוף

  1. עוברים לדף Dataform ב-BigQuery.

    מעבר אל Dataform

  2. לוחצים על quickstart-repo.

  3. במאגר, עוברים לכרטיסייה Development Workspaces (סביבות עבודה לפיתוח).

  4. לוחצים על יצירת סביבת עבודה לפיתוח.

  5. בשדה מזהה Workspace, מזינים את הערך dev-workspace.

  6. לוחצים על יצירה.

  7. בכרטיסייה סביבות עבודה לפיתוח, בוחרים את סביבת העבודה 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 שלכם. כדי להגדיר את ההגדרות של תהליך העבודה, בוחרים באחת מהאפשרויות הבאות:

המסוף

  1. עוברים לדף Dataform ב-BigQuery.

    מעבר אל Dataform

  2. לוחצים על quickstart-repo.

  3. במאגר, עוברים לכרטיסייה Development Workspaces (סביבות עבודה לפיתוח) ולוחצים על dev-workspace.

  4. בחלונית קבצים, בוחרים באפשרות workflow_settings.yaml.

  5. בקובץ, מחליפים את הערך של defaultProject במזהה הפרויקט.

    הקובץ נשמר באופן אוטומטי.

עדכנתם את הגדרות תהליך העבודה. אחר כך אפשר להוסיף הצהרת מקור חדשה לפרויקט.

API

  1. יוצרים קובץ מקומי בשם workflow_settings.yaml ומדביקים בו את ההגדרות הבאות:

    defaultProject: PROJECT_ID
    defaultDataset: dataform
    dataformCoreVersion: CORE_VERSION
    

    מחליפים את CORE_VERSION בגרסה היציבה העדכנית (לא בטא) של Dataform Core – לדוגמה, 3.0.43. הגרסה העדכנית מופיעה בגרסאות.

  2. בטרמינל, מקודדים את תוכן הקובץ למחרוזת Base64:

    base64 -w 0 workflow_settings.yaml
    
  3. מעתיקים את מחרוזת הפלט שמתקבלת כדי להשתמש בה ב-placeholder‏ SETTINGS_DEFINITION אם מחליטים להשתמש בפקודה החלופית curl בהמשך השלבים האלה.

  4. כדי לעדכן את הגדרות תהליך העבודה, משתמשים בשיטה 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 יוכל להתייחס אליו כמקור נתונים בתהליך העבודה. כדי ליצור את המקור החדש, בוחרים באחת מהאפשרויות הבאות:

המסוף

  1. עוברים לדף Dataform ב-BigQuery.

    מעבר אל Dataform

  2. לוחצים על quickstart-repo.

  3. במאגר, עוברים לכרטיסייה Development Workspaces (סביבות עבודה לפיתוח) ולוחצים על dev-workspace.

  4. בחלונית Files (קבצים), בוחרים בתיקייה definitions.

  5. לוחצים על סמל האפשרויות הנוספות > יצירת קובץ.

  6. בשדה Add a file path (הוספת נתיב קובץ), מזינים את הערך definitions/sources/tags.sqlx.

  7. לוחצים על יצירת קובץ.

  8. בעורך ה-SQL של קובץ definitions/sources/tags.sqlx החדש, מדביקים את הקוד הבא:

    config {
      type: "declaration",
      database: "bigquery-public-data",
      schema: "stackoverflow",
      name: "tags"
    }
    

יצרת בהצלחה הצהרת מקור. אחר כך תוכלו להוסיף תצוגה חדשה לפרויקט.

API

  1. יוצרים קובץ מקומי בשם tags.sqlx.
  2. מדביקים את הקוד הבא לקובץ tags.sqlx:

    config {
      type: "declaration",
      database: "bigquery-public-data",
      schema: "stackoverflow",
      name: "tags"
    }
    
  3. במסוף, מקודדים את תוכן הקובץ למחרוזת רציפה אחת:

    base64 -w 0 tags.sqlx
    
  4. מעתיקים את מחרוזת הפלט שמתקבלת כדי להשתמש בה ב-placeholder‏ SOURCE_DEFINITION אם מחליטים להשתמש בפקודה החלופית curl בהמשך השלבים האלה.

  5. כדי ליצור קובץ הצהרת מקור בסביבת העבודה, משתמשים בשיטה 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 חדש שמגדיר תצוגה. כדי ליצור את התצוגה החדשה, בוחרים באחת מהאפשרויות הבאות:

המסוף

  1. עוברים לדף Dataform ב-BigQuery.

    מעבר אל Dataform

  2. לוחצים על quickstart-repo.

  3. במאגר, עוברים לכרטיסייה Development Workspaces (סביבות עבודה לפיתוח) ולוחצים על dev-workspace.

  4. בחלונית Files (קבצים), בוחרים בתיקייה definitions.

  5. לוחצים על סמל האפשרויות הנוספות > יצירת קובץ.

  6. בשדה Add a file path (הוספת נתיב קובץ), מזינים את הערך definitions/top_question_tags.sqlx.

  7. לוחצים על יצירת קובץ.

  8. בעורך ה-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

  1. יוצרים קובץ מקומי בשם top_question_tags.sqlx.
  2. מדביקים את הקוד הבא לקובץ 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
    
  3. במסוף, מקודדים את תוכן הקובץ למחרוזת רציפה אחת:

    base64 -w 0 top_question_tags.sqlx
    
  4. מעתיקים את מחרוזת הפלט שמתקבלת כדי להשתמש בה ב-placeholder‏ VIEW_DEFINITION אם מחליטים להשתמש בפקודה החלופית curl בהמשך השלבים האלה.

  5. כדי ליצור קובץ הגדרת תצוגה בסביבת העבודה, משתמשים בשיטה 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

  1. כדי ליצור תוצאת אוסף על סמך סביבת העבודה, משתמשים ב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"
    
  2. כדי לוודא שהפרויקט עבר קומפילציה בהצלחה, משתמשים בשיטה 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 במזהה הייחודי של תוצאת ההידור. המזהה הזה מופיע בתשובה לבקשת ההידור מהשלב הקודם.

  3. בודקים את השדה compilationErrors בתשובה. אם הרשימה ריקה, הקומפילציה של הפרויקט בוצעה בהצלחה.

הפרויקט עבר קומפילציה בהצלחה וגרף הביצוע אומת. לאחר מכן, תוכלו להריץ את תהליך העבודה ב-BigQuery.

הרצת תהליך העבודה

כדי להפעיל את זרימת העבודה ב-BigQuery, בוחרים באחת מהאפשרויות הבאות:

המסוף

  1. עוברים לדף Dataform ב-BigQuery.

    מעבר אל Dataform

  2. לוחצים על quickstart-repo.

  3. במאגר, עוברים לכרטיסייה Development Workspaces (סביבות עבודה לפיתוח) ולוחצים על dev-workspace.

  4. בסרגל הכלים, לוחצים על התחלת ההפעלה > הפעלת פעולות.

  5. בוחרים באפשרות כל הפעולות.

  6. לוחצים על התחלת ההרצה.

הפעלתם בהצלחה את תהליך העבודה.

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.

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. בחלונית Explorer מרחיבים את הפרויקט ובוחרים מערך נתונים.

  3. לוחצים על התפריט פעולות ואז על מחיקה.

  4. בתיבת הדו-שיח מחיקת מערך נתונים, מזינים delete בשדה ולוחצים על מחיקה.

מחיקת הסוד ב-Secret Manager

כדי לפנות מקום במשאבי האבטחה, מוחקים את ה-Secret שמשמש לחיבור Git.

  1. נכנסים לדף Secret Manager במסוף Google Cloud .

    מעבר אל Secret Manager

  2. בוחרים את הסוד dataform-git-token.

  3. לוחצים על Delete.

  4. בתיבת הדו-שיח לאישור, מזינים את שם ה-Secret כדי לאשר את המחיקה ולוחצים על מחיקה.

מחיקת סביבת הפיתוח של Dataform

יצירת סביבת פיתוח ב-Dataform לא כרוכה בעלויות, אבל כדי למחוק את סביבת הפיתוח, פועלים לפי השלבים הבאים:

  1. נכנסים לדף Dataform במסוף Google Cloud .

    מעבר אל Dataform

  2. לוחצים על quickstart-repo.

  3. בכרטיסייה סביבות עבודה לפיתוח, לוחצים על תפריט אפשרויות נוספות לצד dev-workspace ואז בוחרים באפשרות מחיקה.

  4. כדי לאשר, לוחצים על מחיקה.

מחיקת מאגר Dataform

יצירת מאגר Dataform לא כרוכה בעלויות, אבל כדי למחוק את המאגר, צריך לפעול לפי השלבים הבאים:

  1. נכנסים לדף Dataform במסוף Google Cloud .

    מעבר אל Dataform

  2. ליד quickstart-repo, לוחצים על תפריט האפשרויות הנוספות ואז בוחרים באפשרות מחיקה.

  3. בחלון Delete repository (מחיקת מאגר), מזינים את שם המאגר כדי לאשר את המחיקה.

  4. כדי לאשר, לוחצים על מחיקה.

המאמרים הבאים