במדריך הזה משתמשים בתבנית Pub/Sub Subscription to BigQuery כדי ליצור ולהפעיל משימת Dataflow template באמצעות מסוף Google Cloud או Google Cloud CLI. במדריך מוסבר על צינור עיבוד נתונים בסטרימינג שקורא הודעות בקידוד JSON מ-Pub/Sub וכותב אותן לטבלה ב-BigQuery.
צינורות עיבוד נתונים בסטרימינג וצינורות שילוב נתונים משתמשים ב-Pub/Sub כדי להטמיע ולחלק נתונים. Pub/Sub מאפשר לכם ליצור מערכות של יצרני אירועים וצרכני אירועים, שנקראים מפרסמים ומנויים. בעלי אתרים שולחים אירועים לשירות Pub/Sub באופן אסינכרוני, ו-Pub/Sub מעביר את האירועים לכל השירותים שצריכים להגיב להם.
Dataflow הוא שירות מנוהל במלואו להמרת נתונים ולהוספת נתונים בסטרים (בזמן אמת) ובאצווה. הוא מספק סביבת פיתוח פשוטה של צינור עיבוד נתונים שמשתמשת ב-Apache Beam SDK כדי לבצע טרנספורמציה של נתונים נכנסים, ואז להפיק את הנתונים שעברו טרנספורמציה.
היתרון של תהליך העבודה הזה הוא שאפשר להשתמש בפונקציות UDF כדי לשנות את נתוני ההודעות לפני שהם נכתבים ב-BigQuery.
לפני שמריצים צינור Dataflow לתרחיש הזה, כדאי לשקול אם מינוי ל-Pub/Sub BigQuery עם UDF עונה על הדרישות שלכם.
מטרות
- יוצרים נושא Pub/Sub.
- יוצרים מערך נתונים ב-BigQuery עם טבלה וסכימה.
- אפשר להשתמש בתבנית סטרימינג שסופקה על ידי Google כדי להזרים נתונים מהמינוי ל-Pub/Sub אל BigQuery באמצעות Dataflow.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
- Dataflow
- Pub/Sub
- Cloud Storage
- BigQuery
כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.
כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.
לפני שמתחילים
בקטע הזה מוסבר איך לבחור פרויקט, להפעיל ממשקי API ולהעניק את התפקידים המתאימים לחשבון המשתמש ולחשבון השירות של העובד.
המסוף
- נכנסים לחשבון 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 Compute Engine, Dataflow, Cloud Logging, BigQuery, Pub/Sub, Cloud Storage, Resource 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 Compute Engine, Dataflow, Cloud Logging, BigQuery, Pub/Sub, Cloud Storage, Resource 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.כדי להשלים את השלבים במדריך הזה, לחשבון המשתמש שלכם צריך להיות התפקיד משתמש בחשבון שירות. לחשבון שירות ברירת המחדל של Compute Engine צריכים להיות התפקידים הבאים: Dataflow Worker, Dataflow Admin, Pub/Sub Editor, Storage Object Admin ו-BigQuery Data Editor. כדי להוסיף את התפקידים הנדרשים במסוף Google Cloud :
נכנסים לדף IAM במסוף Google Cloud .
כניסה לדף IAM- בוחרים את הפרויקט הרצוי.
- בשורה שמכילה את חשבון המשתמש שלכם, לוחצים על Edit principal ואז על Add another role.
- בתפריט הנפתח, בוחרים בתפקיד Service Account User.
- בשורה שמכילה את חשבון השירות שמוגדר כברירת מחדל ב-Compute Engine, לוחצים על Edit principal ואז על Add another role.
- ברשימה הנפתחת, בוחרים בתפקיד Dataflow Worker.
חוזרים על הפעולה עבור התפקידים Dataflow Admin, Pub/Sub Editor, Storage Object Admin ו-BigQuery Data Editor, ואז לוחצים על Save.
מידע נוסף על מתן תפקידים זמין במאמר הענקת תפקידים ב-IAM באמצעות המסוף.
gcloud
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את ממשקי ה-API של Compute Engine, Dataflow, Cloud Logging, BigQuery, Pub/Sub, Cloud Storage ו-Resource Manager:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable compute.googleapis.com
dataflow.googleapis.com logging.googleapis.com bigquery.googleapis.com pubsub.googleapis.com storage.googleapis.com cloudresourcemanager.googleapis.com -
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:
roles/iam.serviceAccountUsergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
USER_IDENTIFIER: המזהה של חשבון המשתמש . לדוגמה,myemail@example.com. -
ROLE: תפקיד ה-IAM שאתם מקצים לחשבון המשתמש.
-
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את ממשקי ה-API של Compute Engine, Dataflow, Cloud Logging, BigQuery, Pub/Sub, Cloud Storage ו-Resource Manager:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable compute.googleapis.com
dataflow.googleapis.com logging.googleapis.com bigquery.googleapis.com pubsub.googleapis.com storage.googleapis.com cloudresourcemanager.googleapis.com -
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:
roles/iam.serviceAccountUsergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
USER_IDENTIFIER: המזהה של חשבון המשתמש . לדוגמה,myemail@example.com. -
ROLE: תפקיד ה-IAM שאתם מקצים לחשבון המשתמש.
-
-
מקצים תפקידים לחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:
roles/dataflow.adminroles/dataflow.workerroles/storage.adminroles/pubsub.editorroles/bigquery.dataEditor
gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" --role=SERVICE_ACCOUNT_ROLE
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט.-
PROJECT_NUMBER: מספר הפרויקט. כדי למצוא את מספר הפרויקט, משתמשים בפקודהgcloud projects describe. -
SERVICE_ACCOUNT_ROLE: כל תפקיד בנפרד.
יצירת קטגוריה של Cloud Storage
מתחילים ביצירת קטגוריה של Cloud Storage באמצעות מסוף Google Cloud או Google Cloud CLI. צינור הנתונים של Dataflow משתמש בקטגוריית האחסון הזו כמיקום אחסון זמני.
המסוף
במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
לוחצים על יצירה.
בדף Create a bucket, בשדה Name your bucket, מזינים שם שעומד בדרישות לשמות של קטגוריות. שמות של קטגוריות של Cloud Storage חייבים להיות ייחודיים באופן גלובלי. לא בוחרים באפשרויות האחרות.
לוחצים על יצירה.
gcloud
משתמשים בפקודה gcloud storage buckets create:
gcloud storage buckets create gs://BUCKET_NAME
מחליפים את BUCKET_NAME בשם של קטגוריה ב-Cloud Storage שעומד בקריטריונים לשמות של קטגוריות.
שמות של קטגוריות של Cloud Storage חייבים להיות ייחודיים באופן גלובלי.
יצירת נושא ומינוי ב-Pub/Sub
יוצרים נושא Pub/Sub ואז יוצרים מינוי לנושא הזה.
המסוף
כדי ליצור נושא, מבצעים את השלבים הבאים.
נכנסים לדף Topics של Pub/Sub במסוף Google Cloud .
לוחצים על יצירת נושא.
בשדה Topic ID (מזהה הנושא), מזינים מזהה לנושא. מידע על מתן שמות לנושאים זמין במאמר הנחיות למתן שמות לנושא או למינוי.
משאירים את האפשרות הוספת מינוי שמוגדר כברירת מחדל. לא בוחרים באפשרויות האחרות.
לוחצים על יצירה.
- בדף פרטי הנושא, השם של המינוי שנוצר מופיע בקטע Subscription ID. חשוב לשמור את הערך הזה לשלבים הבאים.
gcloud
כדי ליצור נושא, מריצים את הפקודה gcloud pubsub topics create. מידע על מתן שמות למינויים זמין במאמר הנחיות למתן שמות לנושאים או למינויים.
gcloud pubsub topics create TOPIC_ID
מחליפים את TOPIC_ID בשם של נושא Pub/Sub.
כדי ליצור מינוי לנושא, מריצים את הפקודה gcloud pubsub subscriptions create:
gcloud pubsub subscriptions create --topic TOPIC_ID SUBSCRIPTION_ID
מחליפים את SUBSCRIPTION_ID בשם של מינוי Pub/Sub.
יצירת טבלה ב-BigQuery
בשלב הזה יוצרים טבלה ב-BigQuery עם הסכימה הבאה:
| שם עמודה | סוג נתונים |
|---|---|
name |
STRING |
customer_id |
INTEGER |
אם עדיין אין לכם מערך נתונים ב-BigQuery, תצטרכו ליצור אותו קודם. מידע נוסף זמין במאמר יצירת מערכי נתונים. לאחר מכן יוצרים טבלה ריקה חדשה:
המסוף
עוברים לדף BigQuery.
בחלונית Explorer, מרחיבים את הפרויקט ואז בוחרים מערך נתונים.
בקטע Dataset info, לוחצים על Create table.
ברשימה יצירת טבלה מ, בוחרים באפשרות טבלה ריקה.
בתיבה Table (טבלה), מזינים את שם הטבלה.
בקטע Schema, לוחצים על Edit as text (עריכה כטקסט).
מדביקים את הגדרת הסכימה הבאה:
name:STRING, customer_id:INTEGERלוחצים על יצירת טבלה.
gcloud
משתמשים בפקודה bq mk.
bq mk --table \
PROJECT_ID:DATASET_NAME.TABLE_NAME \
name:STRING,customer_id:INTEGER
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
DATASET_NAME: השם של מערך הנתונים -
TABLE_NAME: השם של הטבלה שרוצים ליצור
הרצת צינור עיבוד הנתונים
מריצים צינור עיבוד נתונים בסטרימינג באמצעות התבנית Pub/Sub Subscription to BigQuery שסופקה על ידי Google. הצינור מקבל נתונים נכנסים מנושא Pub/Sub ומוציא את הנתונים למערך הנתונים שלכם ב-BigQuery.
המסוף
נכנסים לדף Jobs ב-Dataflow במסוף Google Cloud .
לוחצים על יצירת עבודה מתבנית.
מזינים שם עבודה לעבודת Dataflow.
בנקודת קצה אזורית, בוחרים אזור לעבודת Dataflow.
בקטע תבנית Dataflow, בוחרים בתבנית Pub/Sub Subscription to BigQuery.
בשדה BigQuery output table (טבלת פלט של BigQuery), בוחרים באפשרות Browse (עיון) ובוחרים את הטבלה ב-BigQuery.
ברשימה Pub/Sub input subscription, בוחרים את המינוי ל-Pub/Sub.
בקטע Temporary location (מיקום זמני), מזינים את הפרטים הבאים:
gs://BUCKET_NAME/temp/מחליפים את
BUCKET_NAMEבשם של קטגוריית Cloud Storage. התיקייהtempמאחסנת קבצים זמניים של משימות Dataflow.לוחצים על הפעלת העבודה.
gcloud
כדי להריץ את התבנית בשורת הפקודה או בטרמינל, משתמשים בפקודה gcloud dataflow jobs run.
gcloud dataflow jobs run JOB_NAME \
--gcs-location gs://dataflow-templates-DATAFLOW_REGION/latest/PubSub_Subscription_to_BigQuery \
--region DATAFLOW_REGION \
--staging-location gs://BUCKET_NAME/temp \
--parameters \
inputSubscription=projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID,\
outputTableSpec=PROJECT_ID:DATASET_NAME.TABLE_NAME
מחליפים את המשתנים הבאים:
JOB_NAME. שם למשימה-
DATAFLOW_REGION: אזור למשימה -
PROJECT_ID: השם של Google Cloud הפרויקט -
SUBSCRIPTION_ID: השם של מינוי Pub/Sub -
DATASET_NAME: השם של מערך הנתונים ב-BigQuery -
TABLE_NAME: השם של הטבלה ב-BigQuery
פרסום הודעות ב-Pub/Sub
אחרי שמשימת Dataflow מתחילה, אפשר לפרסם הודעות ב-Pub/Sub, והצינור כותב אותן ב-BigQuery.
המסוף
במסוף Google Cloud , נכנסים לדף Pub/Sub > Topics.
ברשימת הנושאים, לוחצים על שם הנושא.
לוחצים על הודעות.
לוחצים על פרסום ההודעות.
בשדה מספר ההודעות, מזינים
10.בשדה Message body (גוף ההודעה), מזינים
{"name": "Alice", "customer_id": 1}.לוחצים על פרסום.
gcloud
כדי לפרסם הודעות בנושא, משתמשים בפקודה gcloud pubsub topics publish.
for run in {1..10}; do
gcloud pubsub topics publish TOPIC_ID --message='{"name": "Alice", "customer_id": 1}'
done
מחליפים את TOPIC_ID בשם הנושא.
צפייה בתוצאות
צופים בנתונים שנכתבו בטבלה ב-BigQuery. יכול להיות שיחלפו עד דקה לפני שהנתונים יתחילו להופיע בטבלה.
המסוף
במסוף Google Cloud , עוברים לדף BigQuery.
לדף BigQueryבעורך השאילתות, מריצים את השאילתה הבאה:
SELECT * FROM `PROJECT_ID.DATASET_NAME.TABLE_NAME` LIMIT 1000מחליפים את המשתנים הבאים:
-
PROJECT_ID: השם של Google Cloud הפרויקט -
DATASET_NAME: השם של מערך הנתונים ב-BigQuery -
TABLE_NAME: השם של הטבלה ב-BigQuery
-
gcloud
כדי לבדוק את התוצאות ב-BigQuery, מריצים את השאילתה הבאה:
bq query --use_legacy_sql=false 'SELECT * FROM `PROJECT_ID.DATASET_NAME.TABLE_NAME`'
מחליפים את המשתנים הבאים:
-
PROJECT_ID: השם של Google Cloud הפרויקט -
DATASET_NAME: השם של מערך הנתונים ב-BigQuery -
TABLE_NAME: השם של הטבלה ב-BigQuery
שימוש בפונקציה מוגדרת על ידי המשתמש כדי לבצע טרנספורמציה של הנתונים
במדריך הזה אנחנו מניחים שההודעות ב-Pub/Sub מעוצבות כ-JSON, ושהסכימה של טבלה ב-BigQuery תואמת לנתוני ה-JSON.
אפשר גם לספק פונקציה בהגדרת המשתמש (UDF) ב-JavaScript שמבצעת טרנספורמציה של הנתונים לפני שהם נכתבים ב-BigQuery. הפונקציה UDF יכולה לבצע עיבוד נוסף, כמו סינון, הסרת פרטים אישיים מזהים (PII) או הוספת שדות לנתונים.
מידע נוסף זמין במאמר בנושא יצירת פונקציות מוגדרות על ידי המשתמש לתבניות Dataflow.
שימוש בטבלת הודעות שלא ניתן למסור
בזמן שהמשימה פועלת, יכול להיות שצינור הנתונים לא יצליח לכתוב הודעות פרטיות ל-BigQuery. השגיאות האפשריות כוללות:
- שגיאות בסריאליזציה, כולל JSON בפורמט שגוי.
- שגיאות בהמרת סוגים, שנובעות מחוסר התאמה בין סכימת הטבלה לבין נתוני ה-JSON.
- שדות נוספים בנתוני ה-JSON שלא מופיעים בסכימת הטבלה.
הצינור כותב את השגיאות האלה לטבלת הודעות שלא ניתן למסור ב-BigQuery. כברירת מחדל, צינור הנתונים יוצר באופן אוטומטי טבלת הודעות שלא נמסרו בשם TABLE_NAME_error_records, כאשר TABLE_NAME הוא שם טבלת הפלט.
כדי להשתמש בשם אחר, מגדירים את פרמטר התבנית outputDeadletterTable.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
מחיקת הפרויקט
הדרך הקלה ביותר לבטל את החיוב היא למחוק את Google Cloud הפרויקט שיצרתם בשביל המדריך.
המסוף
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
gcloud
כדי למחוק Google Cloud פרויקט:
gcloud projects delete PROJECT_ID
מחיקת המשאבים הבודדים
אם רוצים להשתמש בפרויקט שוב בהמשך, אפשר לשמור אותו אבל למחוק את המשאבים שיצרתם במהלך המדריך.
הפסקת צינור עיבוד הנתונים של Dataflow
המסוף
נכנסים לדף Jobs ב-Dataflow במסוף Google Cloud .
לוחצים על העבודה שרוצים להפסיק.
כדי לעצור עבודה, הסטטוס שלה צריך להיות running.
בדף פרטי המשימה, לוחצים על עצירה.
לוחצים על ביטול.
כדי לאשר את הבחירה, לוחצים על עצירת העבודה.
gcloud
כדי לבטל את עבודת ה-Dataflow, משתמשים בפקודה gcloud dataflow jobs.
gcloud dataflow jobs list \
--filter 'NAME=JOB_NAME AND STATE=Running' \
--format 'value(JOB_ID)' \
--region "DATAFLOW_REGION" \
| xargs gcloud dataflow jobs cancel --region "DATAFLOW_REGION"
מחיקת משאבי הפרויקט Google Cloud
המסוף
מחיקת הנושא והמינוי ב-Pub/Sub.
נכנסים לדף Topics של Pub/Sub במסוף Google Cloud .
בוחרים את הנושא שיצרתם.
לוחצים על מחיקה כדי למחוק את הנושא באופן סופי.
נכנסים לדף Subscriptions ב-Pub/Sub במסוף Google Cloud .
בוחרים את המינוי שנוצר עם הנושא.
לוחצים על מחיקה כדי למחוק את המינוי באופן סופי.
מוחקים את הטבלה ואת מערך הנתונים ב-BigQuery.
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית Explorer מרחיבים את הפרויקט.
לצד מערך הנתונים שרוצים למחוק, לוחצים על הצגת פעולות ואז על מחיקה.
מחיקת הקטגוריה של Cloud Storage.
במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
בוחרים את הקטגוריה שרוצים למחוק, לוחצים על Delete ופועלים לפי ההוראות.
gcloud
כדי למחוק את המינוי והנושא ב-Pub/Sub, משתמשים בפקודות
gcloud pubsub subscriptions deleteו-gcloud pubsub topics delete.gcloud pubsub subscriptions delete SUBSCRIPTION_ID gcloud pubsub topics delete TOPIC_IDכדי למחוק את טבלת BigQuery, משתמשים בפקודה
bq rm.bq rm -f -t PROJECT_ID:tutorial_dataset.tutorialמוחקים את מערך הנתונים ב-BigQuery. השימוש במערך הנתונים לבדו לא כרוך בעלויות.
bq rm -r -f -d PROJECT_ID:tutorial_datasetכדי למחוק את הקטגוריה של Cloud Storage ואת האובייקטים שבה, משתמשים בפקודה
gcloud storage rm. השימוש בדלי לבדו לא כרוך בחיובים.gcloud storage rm gs://BUCKET_NAME --recursive
ביטול פרטי כניסה
המסוף
אם אתם משאירים את הפרויקט, אתם צריכים לבטל את התפקידים שהקציתם לחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine.
- נכנסים לדף IAM במסוף Google Cloud .
בוחרים פרויקט, תיקייה או ארגון.
מחפשים את השורה שמכילה את חשבון המשתמש שרוצים לבטל את הגישה שלו. בשורה הזו, לוחצים על Edit principal.
לוחצים על Delete ליד כל תפקיד שרוצים לבטל ואז על Save.
gcloud
- אם אתם משאירים את הפרויקט, אתם צריכים לבטל את התפקידים שהענקתם לחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine. מריצים את הפקודה הבאה פעם אחת לכל אחד מהתפקידים הבאים ב-IAM:
roles/dataflow.adminroles/dataflow.workerroles/storage.adminroles/pubsub.editorroles/bigquery.dataEditor
gcloud projects remove-iam-policy-binding <var>PROJECT_ID</var> \ --member=serviceAccount:<var>PROJECT_NUMBER</var>-compute@developer.gserviceaccount.com \ --role=<var>ROLE</var> -
אם תרצו, תוכלו לבטל את פרטי הכניסה שיצרתם ולמחוק את הקובץ המקומי של פרטי הכניסה.
gcloud auth application-default revoke
-
אם רוצים, מבטלים את פרטי הכניסה של ה-CLI של gcloud.
gcloud auth revoke
המאמרים הבאים
- הרחבת תבנית Dataflow באמצעות פונקציות מוגדרות על ידי המשתמש (UDF)
- מידע נוסף על שימוש בתבניות Dataflow
- כאן אפשר לראות את כל התבניות ש-Google סיפקה.
- אפשר לקרוא על שימוש ב-Pub/Sub כדי ליצור נושאים ולהשתמש בהם ועל יצירת מינוי מסוג pull.
- מידע על יצירת מערכי נתונים באמצעות BigQuery
- מידע נוסף על מינויים ב-Pub/Sub
- כדאי להעמיק את הקריאה ולהכיר דוגמאות לארכיטקטורות, תרשימים ושיטות מומלצות בנושאי Google Cloud. כל אלה זמינים במרכז הארכיטקטורה של Cloud.