Google Sheets הוא פתרון לגיליונות אלקטרוניים מבוסס-ענן שתומך בשיתוף פעולה בזמן אמת ומספק כלים להמחשה, לעיבוד ולתקשור של נתונים.
בדוגמה הבאה אפשר לראות איך כותבים ל-Sheets מתוך תהליך עבודה. בתהליך העבודה, המערכת שולחת שאילתה למערך נתונים ב-BigQuery וכותבת את התוצאות בגיליון אלקטרוני ב-Sheets. הוא משתמש במחברים של Workflows כדי לפשט את הקריאה של ממשקי API של Google Cloud .
לפני שמתחילים
לפני שמנסים את הדוגמה במסמך הזה, חשוב לוודא שביצעתם את הפעולות הבאות.
מפעילים את ממשקי ה-API של Compute Engine, Google Drive, Google Sheets ו-Workflows.
המסוף
gcloud
gcloud services enable \ compute.googleapis.com \ drive.googleapis.com \ sheets.googleapis.com \ workflows.googleapis.com
חשוב לשים לב לחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine, כי תצטרכו לקשר אותו לזרימת העבודה לדוגמה לצורך בדיקה. בפרויקטים חדשים שבהם מופעל Compute Engine API, חשבון השירות הזה נוצר עם תפקיד בסיסי של עריכה ב-IAM, ובפורמט האימייל הבא:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
אפשר לראות את מספר הפרויקט בדף Welcome במסוף Google Cloud , או לאחזר אותו:
gcloud projects describe PROJECT_ID
בסביבות ייצור, מומלץ מאוד ליצור חשבון שירות חדש ולהקצות לו תפקיד אחד או יותר ב-IAM שמכילים את ההרשאות המינימליות הנדרשות, ולפעול לפי העיקרון של הרשאות מינימליות.
יוצרים תיקייה חדשה ב-Google Drive. התיקייה הזו משמשת לאחסון הגיליון האלקטרוני. הגדרת הרשאה לתיקייה המשותפת מאפשרת לתהליך העבודה לכתוב בגיליון האלקטרוני.
- בקר בכתובת drive.google.com.
- לוחצים על חדש > תיקייה חדשה.
- מזינים שם לתיקייה.
- לוחצים על יצירה.
- לוחצים לחיצה ימנית על התיקייה החדשה ובוחרים באפשרות שיתוף.
מוסיפים את כתובת האימייל של חשבון השירות שמוגדר כברירת המחדל של Compute Engine.
כך מעניקים לחשבון השירות גישה לתיקייה. כשמשייכים את חשבון השירות לזרימת העבודה, לזרימת העבודה תהיה גישת עריכה לכל קובץ בתיקייה. מידע נוסף על שיתוף קבצים, תיקיות ותיקיות אחסון שיתופי
בוחרים את התפקיד עריכה.
מבטלים את הסימון בתיבת הסימון שליחת הודעה לאנשים.
לוחצים על שיתוף.
יצירת גיליון אלקטרוני
אפשר ליצור גיליון אלקטרוני באחת מהדרכים הבאות:
אין אפשרות ליצור גיליון אלקטרוני ישירות בתיקייה ספציפית באמצעות Google Sheets API. עם זאת, יש חלופות, כולל העברת הגיליון האלקטרוני לתיקייה ספציפית אחרי שיוצרים אותו, כמו בדוגמאות הבאות. מידע נוסף זמין במאמר איך עובדים עם תיקיות ב-Google Drive.
יצירת גיליון אלקטרוני באמצעות Google Sheets
כשיוצרים גיליון אלקטרוני באמצעות Google Sheets, הוא נשמר ב-Google Drive. כברירת מחדל, הגיליון האלקטרוני נשמר בתיקיית הבסיס ב-Drive.
עוברים אל sheets.google.com.
לוחצים על חדש
.
פעולה זו תיצור גיליון אלקטרוני חדש ותפתח אותו. לכל גיליון אלקטרוני יש ערך ייחודי של
spreadsheetIdשמורכב מאותיות, מספרים, מקפים או קווים תחתונים. המזהה של הגיליון האלקטרוני מופיע בכתובת ה-URL של Google Sheets:https://docs.google.com/spreadsheets/d/spreadsheetId/edit#gid=0חשוב לזכור את המזהה הזה כי תצטרכו אותו כשתיצרו את תהליך העבודה.
מעבירים את הגיליון האלקטרוני לתיקיית Google Drive שיצרתם קודם:
- בגיליון האלקטרוני, בוחרים באפשרות קובץ > העברה.
- עוברים לתיקייה שיצרתם.
- לוחצים על Move.
יצירת גיליון אלקטרוני באמצעות מחבר Google Sheets API
אתם יכולים להשתמש במחבר Google Sheets API כדי ליצור גיליון אלקטרוני. מכיוון שכלי Workflows משתמש בחשבון השירות כזהות של הטריגר, הגיליון האלקטרוני נוצר בתיקיית הבסיס של חשבון השירות ב-Google Drive. אחר כך תוכלו להעביר את הגיליון האלקטרוני לתיקייה אחרת.
בתהליך העבודה הבא, הערך spreadsheetId מאוחזר מהתוצאה resp:
YAML
JSON
מחליפים את FOLDER_ID במזהה התיקייה שאליה רוצים להעביר את הגיליון האלקטרוני. לכל תיקייה ב-Drive יש מזהה ייחודי שמורכב מאותיות, ממספרים, ממקפים או מקווים תחתונים. אפשר למצוא את מזהה התיקייה בכתובת ה-URL של התיקייה:
https://drive.google.com/drive/folders/FOLDER_ID/edit#gid=0מידע נוסף זמין במאמר בנושא יצירה של תיקיות והוספת קבצים לתיקיות.
הפלט של תהליך העבודה אמור להיראות כך, כאשר הערך id
הוא spreadsheetId:
"body": {
"id": "spreadsheetId",
"kind": "drive#file",
"mimeType": "application/vnd.google-apps.spreadsheet",
"name": "Untitled spreadsheet"
}
סקירה של מערך נתונים ציבורי ב-BigQuery
ב-BigQuery יש מספר מערכי נתונים ציבוריים שזמינים לציבור הרחב להרצת שאילתות.
ב-BigQuery, אפשר להריץ משימת שאילתה אינטראקטיבית (לפי דרישה). לדוגמה, השאילתה הבאה מחזירה את 100 השמות הפופולריים ביותר במערך נתונים ספציפי וכותבת את הפלט לטבלה זמנית. זו השאילתה שתורץ בתהליך העבודה.
המסוף
במסוף Google Cloud , עוברים לדף BigQuery.
מזינים את שאילתת ה-SQL הבאה של BigQuery באזור הטקסט של עורך השאילתות:
SELECT name, gender, SUM(number) AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name, gender ORDER BY total DESC LIMIT 100לוחצים על Run.
BQ
בטרמינל, מזינים את הפקודה הבאה של bq query כדי להריץ שאילתה אינטראקטיבית באמצעות תחביר SQL סטנדרטי:
bq query \ --use_legacy_sql=false \ 'SELECT name, gender, SUM(number) AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name, gender ORDER BY total DESC LIMIT 100'
פריסת תהליך עבודה שכותב ל-Sheets
פריסת תהליך עבודה שיוצר שאילתה במערך נתונים של BigQuery באמצעות מחבר BigQuery API, וכותב את התוצאות לגיליון אלקטרוני ב-Sheets באמצעות מחבר Google Sheets API.
המסוף
נכנסים לדף Workflows במסוף Google Cloud :
לוחצים על Create.
מזינים שם לתהליך העבודה החדש:
read-bigquery-write-sheets.ברשימה Region, בוחרים באפשרות us-central1 (Iowa).
בקטע חשבון שירות, בוחרים את חשבון השירות שמוגדר כברירת מחדל ב-Compute Engine (
PROJECT_NUMBER-compute@developer.gserviceaccount.com).לוחצים על הבא.
בעורך תהליכי העבודה, מזינים את ההגדרה הבאה לתהליך העבודה:
מחליפים את הערך של מציין המקום
sheetIdבערך שלspreadsheetId.לוחצים על פריסה.
gcloud
יוצרים קובץ קוד מקור לתהליך העבודה:
touch read-bigquery-write-sheets.yamlבכלי לעריכת טקסט, מעתיקים את זרימת העבודה הבאה לקובץ קוד המקור:
מחליפים את הערך של מציין המקום
sheetIdבערך שלspreadsheetId.מריצים את הפקודה הבאה כדי לפרוס את תהליך העבודה:
gcloud workflows deploy read-bigquery-write-sheets \ --source=read-bigquery-write-sheets.yaml \ --location=us-central1 \ --service-account=PROJECT_NUMBER-compute@developer.gserviceaccount.com
מחליפים את
PROJECT_NUMBERבמספר הפרויקט ב- Google Cloud. אפשר לראות את מספר הפרויקט בדף Welcome במסוף Google Cloud .
מריצים את תהליך העבודה ומאמתים את התוצאות
כשמריצים תהליך עבודה, מופעלת ההגדרה הנוכחית של תהליך העבודה שמשויכת ל-workflow.
מריצים את תהליך העבודה:
המסוף
נכנסים לדף Workflows במסוף Google Cloud :
בדף Workflows, בוחרים את זרימת העבודה read-bigquery-write-sheets כדי לעבור לדף הפרטים שלה.
בדף פרטי תהליך העבודה, לוחצים על play_arrow הפעלה.
לוחצים שוב על Execute.
תוצאות תהליך העבודה מוצגות בחלונית Output.
הפלט אמור להיראות כך:
{ "spreadsheetId": "1pgkNY7mWICA6o6INUNLHGnmk0Tdioh0nUghZPOYPpZA", "updatedCells": 303, "updatedColumns": 3, "updatedRange": "Sheet1!A1:C101", "updatedRows": 101 }
gcloud
פותחים טרמינל.
מריצים את תהליך העבודה:
gcloud workflows run read-bigquery-write-sheets
תוצאות ההרצה צריכות להיות דומות לתוצאות הבאות:
Waiting for execution [4dcf737b-69d9-4081-b8d9-86d39ae86bd1] to complete...done. argument: 'null' duration: 3.131912897s endTime: '2023-01-25T14:59:46.818828242Z' name: projects/918619793306/locations/us-central1/workflows/read-bigquery-write-sheets/executions/4dcf737b-69d9-4081-b8d9-86d39ae86bd1 result: '{"spreadsheetId":"1pgkNY7mWICA6o6INUNLHGnmk0Tdioh0nUghZPOYPpZA","updatedCells":303,"updatedColumns":3,"updatedRange":"Sheet1!A1:C101","updatedRows":101}' startTime: '2023-01-25T14:59:43.686915345Z' state: SUCCEEDED
מוודאים שתהליך העבודה כתב את תוצאות השאילתה בגיליון האלקטרוני. לדוגמה, מספר העמודות והשורות בגיליון האלקטרוני צריך להיות זהה לערכים
updatedColumnsו-updatedRows.
המאמרים הבאים
- הפעלת תהליך עבודה מ-Google Sheets.
- השהיה והפעלה מחדש של תהליך עבודה באמצעות קריאות חוזרות ו-Google Sheets
- מרכז הלמידה של Google Workspace – כלי עזר שכדאי להכיר