במדריך הזה משתמשים בתבנית Pub/Sub Subscription to BigQuery כדי ליצור ולהפעיל משימת Dataflow template באמצעות Google Cloud מסוף 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, if any are not already enabled.
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 Compute Engine, Dataflow, Cloud Logging, BigQuery, Pub/Sub, Cloud Storage, Resource Manager APIs, if any are not already enabled.
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.כדי להשלים את השלבים במדריך הזה, לחשבון המשתמש שלכם צריך להיות התפקיד Service Account User. לחשבון השירות שמוגדר כברירת מחדל ב-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, ואז לוחצים על שמירה.
מידע נוסף על מתן תפקידים זמין במאמר הענקת תפקידים ב-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 .
אם אחד מהממשקים הבאים לא מופעל, מפעילים אותו: Compute Engine, Dataflow, Cloud Logging, BigQuery, Pub/Sub, Cloud Storage, Resource Manager.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים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 .
אם אחד מהממשקים הבאים לא מופעל, מפעילים אותו: Compute Engine, Dataflow, Cloud Logging, BigQuery, Pub/Sub, Cloud Storage, Resource Manager.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים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 (מזהה הנושא), מזינים מזהה לנושא. מידע על מתן שמות לנושאים זמין במאמר הנחיות למתן שמות לנושאים או למינויים.
משאירים את האפשרות Add a default subscription (הוספת מינוי ברירת מחדל). אל תבחרו באפשרויות האחרות.
לוחצים על יצירה.
- בדף פרטי הנושא, השם של המינוי שנוצר מופיע בקטע 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, לוחצים על 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 template (תבנית Dataflow), בוחרים בתבנית Pub/Sub Subscription to BigQuery (מינוי Pub/Sub ל-BigQuery).
בשדה BigQuery output table (טבלת פלט של BigQuery), בוחרים באפשרות Browse (עיון) ובוחרים את הטבלה ב-BigQuery.
ברשימה Pub/Sub input subscription, בוחרים את המינוי ל-Pub/Sub.
בקטע מיקום זמני, מזינים את הפרטים הבאים:
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/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.בשדה גוף ההודעה, מזינים
{"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.