יצירת צינור עיבוד נתונים בסטרימינג למסחר אלקטרוני

במדריך הזה יוצרים צינור Dataflow לסטרימינג שמבצע טרנספורמציה של נתונים של מסחר אלקטרוני מנושאים וממינויים של Pub/Sub, ומייצא את הנתונים ל-BigQuery ול-Bigtable. כדי לבצע את המדריך הזה צריך Gradle.

במדריך מוצגת אפליקציה לדוגמה של מסחר אלקטרוני מקצה לקצה, שמעבירה נתונים בסטרימינג מחנות אינטרנט ל-BigQuery ול-Bigtable. באפליקציה לדוגמה מוצגים תרחישי שימוש נפוצים ושיטות מומלצות להטמעה של ניתוח נתוני סטרימינג ובינה מלאכותית (AI) בזמן אמת. במדריך הזה נסביר איך להגיב באופן דינמי לפעולות של לקוחות כדי לנתח אירועים ולהגיב להם בזמן אמת. במדריך הזה נסביר איך לאחסן, לנתח ולהציג נתוני אירועים כדי לקבל תובנות נוספות לגבי התנהגות הלקוחות.

אפשר למצוא את האפליקציה לדוגמה ב-GitHub. כדי להריץ את המדריך הזה באמצעות Terraform, פועלים לפי השלבים שמפורטים באפליקציה לדוגמה ב-GitHub.

מטרות

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

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

  • מעבדים את כל הנתונים הנכנסים לפורמט סטנדרטי ומאחסנים אותם במחסן נתונים כדי להשתמש בהם לניתוח ולהדמיה בעתיד.

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

נתונים

האפליקציה מעבדת את סוגי הנתונים הבאים:

  • נתוני קליקסטרים שנשלחים ממערכות אונליין ל-Pub/Sub.
  • נתוני עסקאות שנשלחים ממערכות מקומיות או ממערכות של תוכנה כשירות (SaaS) אל Pub/Sub.
  • נתוני מלאי שנשלחים ממערכות מקומיות או ממערכות SaaS אל Pub/Sub.

דפוסי משימות

האפליקציה מכילה את דפוסי המשימות הבאים, שמשותפים לצינורות שנוצרו באמצעות Apache Beam SDK for Java:

עלויות

במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:

  • BigQuery
  • Bigtable
  • Cloud Scheduler
  • Compute Engine
  • Dataflow
  • Pub/Sub

כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.

משתמשים חדשים של Google Cloud ? יכול להיות שאתם זכאים לתקופת ניסיון בחינם.

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

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

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. התקינו את ה-CLI של Google Cloud.

  3. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  4. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  5. יוצרים או בוחרים 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 .

  6. מוודאים שהחיוב מופעל בפרויקט Google Cloud .

  7. מפעילים את ממשקי ה-API‏ Compute Engine,‏ Dataflow,‏ Pub/Sub,‏ BigQuery,‏ Bigtable,‏ Bigtable Admin ו-Cloud Scheduler:

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    gcloud services enable compute.googleapis.com dataflow.googleapis.com pubsub.googleapis.com bigquery.googleapis.com bigtable.googleapis.com bigtableadmin.googleapis.com  cloudscheduler.googleapis.com
  8. יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:

    gcloud auth application-default login

    אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  9. מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM: roles/iam.serviceAccountUser

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט.
    • USER_IDENTIFIER: המזהה של חשבון המשתמש . לדוגמה, myemail@example.com.
    • ROLE: תפקיד ה-IAM שאתם מקצים לחשבון המשתמש.
  10. התקינו את ה-CLI של Google Cloud.

  11. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  12. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  13. יוצרים או בוחרים 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 .

  14. מוודאים שהחיוב מופעל בפרויקט Google Cloud .

  15. מפעילים את ממשקי ה-API‏ Compute Engine,‏ Dataflow,‏ Pub/Sub,‏ BigQuery,‏ Bigtable,‏ Bigtable Admin ו-Cloud Scheduler:

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    gcloud services enable compute.googleapis.com dataflow.googleapis.com pubsub.googleapis.com bigquery.googleapis.com bigtable.googleapis.com bigtableadmin.googleapis.com  cloudscheduler.googleapis.com
  16. יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:

    gcloud auth application-default login

    אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  17. מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM: roles/iam.serviceAccountUser

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט.
    • USER_IDENTIFIER: המזהה של חשבון המשתמש . לדוגמה, myemail@example.com.
    • ROLE: תפקיד ה-IAM שאתם מקצים לחשבון המשתמש.
  18. יוצרים חשבון שירות של עובד שמנוהל על ידי משתמש עבור צינור עיבוד הנתונים החדש ומקצים לחשבון השירות את התפקידים הנדרשים.

    1. כדי ליצור את חשבון השירות, מריצים את הפקודה gcloud iam service-accounts create:

      gcloud iam service-accounts create retailpipeline \
          --description="Retail app data pipeline worker service account" \
          --display-name="Retail app data pipeline access"
    2. נותנים לחשבון השירות תפקידים. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:

      • roles/dataflow.admin
      • roles/dataflow.worker
      • roles/pubsub.editor
      • roles/bigquery.dataEditor
      • roles/bigtable.admin
      • roles/bigquery.jobUser
      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:retailpipeline@PROJECT_ID.iam.gserviceaccount.com" --role=SERVICE_ACCOUNT_ROLE

      מחליפים את SERVICE_ACCOUNT_ROLE בכל אחד מהתפקידים.

    3. נותנים לחשבון Google תפקיד שמאפשר ליצור אסימוני גישה לחשבון השירות:

      gcloud iam service-accounts add-iam-policy-binding retailpipeline@PROJECT_ID.iam.gserviceaccount.com --member="user:EMAIL_ADDRESS" --role=roles/iam.serviceAccountTokenCreator
  19. אם צריך, מורידים ומתקינים את Gradle.

יצירת המקורות וה-sinks לדוגמה

בקטע הזה מוסבר איך ליצור את הפריטים הבאים:

  • קטגוריה של Cloud Storage לשימוש כמיקום אחסון זמני
  • מקורות נתונים בסטרימינג באמצעות Pub/Sub
  • מערכי נתונים לטעינת הנתונים לתוך BigQuery
  • מכונת Bigtable

יצירת קטגוריה של Cloud Storage

מתחילים ביצירת קטגוריה של Cloud Storage. הבאקט הזה משמש כמיקום אחסון זמני על ידי צינור Dataflow.

משתמשים בפקודה gcloud storage buckets create:

gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION

מחליפים את מה שכתוב בשדות הבאים:

יצירת נושאים ומינויים ב-Pub/Sub

יוצרים ארבעה נושאים ב-Pub/Sub ואז יוצרים שלושה מינויים.

כדי ליצור את הנושאים, מריצים את הפקודה gcloud pubsub topics create פעם אחת לכל נושא. מידע על מתן שמות למינויים זמין במאמר הנחיות למתן שמות לנושאים או למינויים.

gcloud pubsub topics create TOPIC_NAME

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

  • Clickstream-inbound
  • Transactions-inbound
  • Inventory-inbound
  • Inventory-outbound

כדי ליצור מינוי לנושא, מריצים את הפקודה gcloud pubsub subscriptions create פעם אחת לכל מינוי:

  1. יצירת מינוי ל-Clickstream-inbound-sub:

    gcloud pubsub subscriptions create --topic Clickstream-inbound Clickstream-inbound-sub
    
  2. יצירת מינוי ל-Transactions-inbound-sub:

    gcloud pubsub subscriptions create --topic Transactions-inbound Transactions-inbound-sub
    
  3. יצירת מינוי ל-Inventory-inbound-sub:

    gcloud pubsub subscriptions create --topic Inventory-inbound Inventory-inbound-sub
    

יצירת טבלאות ומערכי נתונים ב-BigQuery

יוצרים מערך נתונים ב-BigQuery וטבלה עם חלוקה למחיצות עם הסכימה המתאימה לנושא Pub/Sub.

  1. משתמשים בפקודה bq mk כדי ליצור את מערך הנתונים הראשון.

    bq --location=US mk \
    PROJECT_ID:Retail_Store
    
  2. יוצרים את מערך הנתונים השני.

    bq --location=US mk \
    PROJECT_ID:Retail_Store_Aggregations
    
  3. משתמשים בCREATE TABLE הצהרת SQL כדי ליצור טבלה עם סכימה ונתוני בדיקה. נתוני הבדיקה כוללים חנות אחת עם ערך המזהה 1. הטבלה הזו משמשת לתבנית של קלט צדדי לעדכון איטי.

    bq query --use_legacy_sql=false \
      'CREATE TABLE
        Retail_Store.Store_Locations
        (
          id INT64,
          city STRING,
          state STRING,
          zip INT64
        );
      INSERT INTO Retail_Store.Store_Locations
      VALUES (1, "a_city", "a_state",00000);'
    

יצירת טבלה ומופע Bigtable

יוצרים טבלה ומופע Bigtable. מידע נוסף על יצירת מופעים של Bigtable זמין במאמר בנושא יצירת מופע.

  1. אם צריך, מריצים את הפקודה הבאה כדי להתקין את cbt CLI:

    gcloud components install cbt
    
  2. משתמשים בפקודה bigtable instances create כדי ליצור מכונה:

    gcloud bigtable instances create aggregate-tables \
        --display-name=aggregate-tables \
        --cluster-config=id=aggregate-tables-c1,zone=CLUSTER_ZONE,nodes=1
    

    מחליפים את CLUSTER_ZONE בתחום שבו האשכול פועל.

  3. משתמשים בפקודה cbt createtable כדי ליצור טבלה:

    cbt -instance=aggregate-tables createtable PageView5MinAggregates
    
  4. משתמשים בפקודה הבאה כדי להוסיף קבוצת עמודות לטבלה:

    cbt -instance=aggregate-tables createfamily PageView5MinAggregates pageViewAgg
    

הרצת צינור עיבוד הנתונים

שימוש ב-Gradle להפעלת צינור עיבוד נתונים בסטרימינג. כדי לראות את קוד ה-Java שצינור עיבוד הנתונים משתמש בו, אפשר לעיין ב-RetailDataProcessingPipeline.java.

  1. משתמשים בפקודה git clone כדי לשכפל את מאגר GitHub:

    git clone https://github.com/GoogleCloudPlatform/dataflow-sample-applications.git
    
  2. עוברים לספריית האפליקציה:

    cd dataflow-sample-applications/retail/retail-java-applications
    
  3. כדי לבדוק את צינור הנתונים, מריצים את הפקודה הבאה באמצעות Gradle בשורת הפקודה או בטרמינל:

    ./gradlew :data-engineering-dept:pipelines:test --tests RetailDataProcessingPipelineSimpleSmokeTest --info --rerun-tasks
    
  4. כדי להריץ את צינור העיבוד, מריצים את הפקודה הבאה באמצעות Gradle:

    ./gradlew tasks executeOnDataflow -Dexec.args=" \
    --project=PROJECT_ID \
    --tempLocation=gs://BUCKET_NAME/temp/ \
    --runner=DataflowRunner \
    --region=REGION \
    --clickStreamPubSubSubscription=projects/PROJECT_ID/subscriptions/Clickstream-inbound-sub \
    --transactionsPubSubSubscription=projects/PROJECT_ID/subscriptions/Transactions-inbound-sub \
    --inventoryPubSubSubscriptions=projects/PROJECT_ID/subscriptions/Inventory-inbound-sub \
    --aggregateStockPubSubOutputTopic=projects/PROJECT_ID/topics/Inventory-outbound \
    --dataWarehouseOutputProject=PROJECT_ID \
    --serviceAccount=retailpipeline.PROJECT_ID.iam.gserviceaccount.com"
    

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

יצירה והרצה של משימות ב-Cloud Scheduler

יוצרים ומריצים שלוש משימות ב-Cloud Scheduler: אחת לפרסום נתוני קליקים, אחת לנתוני מלאי ואחת לנתוני עסקאות. בשלב הזה נוצרים נתונים לדוגמה עבור צינור העיבוד.

  1. כדי ליצור משימה של Cloud Scheduler לצורך המדריך הזה, משתמשים בפקודה gcloud scheduler jobs create. בשלב הזה נוצר מוציא לאור לנתוני קליקסטרים שמפרסם הודעה אחת בדקה.

    gcloud scheduler jobs create pubsub clickstream \
      --schedule="* * * * *" \
      --location=LOCATION \
      --topic="Clickstream-inbound" \
      --message-body='{"uid":464670,"sessionId":null,"returning":false,"lat":39.669082,"lng":-80.312306,"agent":"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;","event":"add-to-cart","transaction":false,"timestamp":1660091197071,"ecommerce":{"items":[{"item_name":"Donut Friday Scented T-Shirt","item_id":"67890","price":33.75,"item_brand":"Google","item_category":"Apparel","item_category_2":"Mens","item_category_3":"Shirts","item_category_4":"Tshirts","item_variant":"Black","item_list_name":"Search Results","item_list_id":"SR123","index":1,"quantity":2}]},"user_id":74378,"client_id":"52393559","page_previous":"P_3","page":"P_3","event_datetime":"2022-08-10 12:26:37"}'
    
  2. כדי להפעיל את המשימה של Cloud Scheduler, משתמשים בפקודה gcloud scheduler jobs run.

    gcloud scheduler jobs run --location=LOCATION clickstream
    
  3. יוצרים ומפעילים עוד בעל תוכן דיגיטלי דומה לנתוני מלאי שמפרסם הודעה אחת כל שתי דקות.

    gcloud scheduler jobs create pubsub inventory \
      --schedule="*/2 * * * *" \
      --location=LOCATION  \
      --topic="Inventory-inbound" \
      --message-body='{"count":1,"sku":0,"aisleId":0,"product_name":null,"departmentId":0,"price":null,"recipeId":null,"image":null,"timestamp":1660149636076,"store_id":1,"product_id":10050}'
    
  4. מפעילים את המשימה השנייה ב-Cloud Scheduler.

    gcloud scheduler jobs run --location=LOCATION inventory
    
  5. יוצרים ומפעילים בעל תוכן דיגיטלי שלישי לנתוני עסקאות שמפרסם הודעה אחת כל שתי דקות.

    gcloud scheduler jobs create pubsub transactions \
      --schedule="*/2 * * * *" \
      --location=LOCATION  \
      --topic="Transactions-inbound" \
      --message-body='{"order_number":"b8be9222-990d-11ea-9c05-42010af00081","user_id":998685,"store_id":1,"returning":false,"time_of_sale":0,"department_id":0,"product_id":4,"product_count":1,"price":25.0,"order_id":0,"order_dow":0,"order_hour_of_day":0,"order_woy":0,"days_since_prior_order":null,"product_name":null,"product_sku":0,"image":null,"timestamp":1660157951000,"ecommerce":{"items":[{"item_name":"Donut Friday Scented T-Shirt","item_id":"67890","price":33.75,"item_brand":"Google","item_category":"Apparel","item_category_2":"Mens","item_category_3":"Shirts","item_category_4":"Tshirts","item_variant":"Black","item_list_name":"Search Results","item_list_id":"SR123","index":1,"quantity":2}]},"client_id":"1686224283","page_previous":null,"page":null,"event_datetime":"2022-08-10 06:59:11"}'
    
  6. מריצים את המשימה השלישית ב-Cloud Scheduler.

    gcloud scheduler jobs run --location=LOCATION transactions
    

צפייה בתוצאות

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

יכול להיות שתצטרכו לחכות עד שהטבלאות יתמלאו בנתונים.

bq query --use_legacy_sql=false 'SELECT * FROM `'"PROJECT_ID.Retail_Store.clean_inventory_data"'`'
bq query --use_legacy_sql=false 'SELECT * FROM `'"PROJECT_ID.Retail_Store.clean_transaction_data"'`'

הסרת המשאבים

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

מחיקת הפרויקט

הדרך הקלה ביותר לבטל את החיוב היא למחוק את Google Cloud הפרויקט שיצרתם בשביל המדריך.

  1. במסוף Google Cloud , נכנסים לדף Manage resources.

    כניסה לדף Manage resources

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

מחיקת המשאבים הבודדים

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

מחיקת משאבי הפרויקט Google Cloud

  1. כדי למחוק את המשימות של Cloud Scheduler, משתמשים בפקודה gcloud scheduler jobs delete.

     gcloud scheduler jobs delete transactions --location=LOCATION
    
     gcloud scheduler jobs delete inventory --location=LOCATION
    
     gcloud scheduler jobs delete clickstream --location=LOCATION
    
  2. כדי למחוק את המינויים והנושאים ב-Pub/Sub, משתמשים בפקודות gcloud pubsub subscriptions delete ו-gcloud pubsub topics delete.

    gcloud pubsub subscriptions delete SUBSCRIPTION_NAME
    gcloud pubsub topics delete TOPIC_NAME
    
  3. כדי למחוק את טבלת BigQuery, משתמשים בפקודה bq rm.

    bq rm -f -t PROJECT_ID:Retail_Store.Store_Locations
    
  4. מוחקים את מערכי הנתונים ב-BigQuery. השימוש במערך הנתונים לבדו לא כרוך בעלויות.

    bq rm -r -f -d PROJECT_ID:Retail_Store
    
    bq rm -r -f -d PROJECT_ID:Retail_Store_Aggregations
    
  5. כדי למחוק את מופע Bigtable, משתמשים בפקודה cbt deleteinstance. השימוש בדלי עצמו לא כרוך בחיובים.

    cbt deleteinstance aggregate-tables
    
  6. כדי למחוק את הקטגוריה של Cloud Storage והאובייקטים שבה, משתמשים בפקודה gcloud storage rm. השימוש בדלי עצמו לא כרוך בחיובים.

    gcloud storage rm gs://BUCKET_NAME --recursive
    

ביטול פרטי כניסה

  1. מבטלים את התפקידים שהוקצו לחשבון השירות של העובד (worker) שמנוהל על ידי משתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:

    • roles/dataflow.admin
    • roles/dataflow.worker
    • roles/pubsub.editor
    • roles/bigquery.dataEditor
    • roles/bigtable.admin
    • roles/bigquery.jobUser
    gcloud projects remove-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:retailpipeline@PROJECT_ID.iam.gserviceaccount.com \
        --role=ROLE
  2. אם תרצו, תוכלו לבטל את פרטי הכניסה שיצרתם ולמחוק את הקובץ המקומי של פרטי הכניסה.

    gcloud auth application-default revoke
  3. אם רוצים, מבטלים את פרטי הכניסה של ה-CLI של gcloud.

    gcloud auth revoke

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