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

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

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

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

מטרות

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

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

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

  • לבצע דה-נורמליזציה של נתוני עסקאות של מכירות בחנות הפיזית, כדי שהם יוכלו לכלול מידע כמו קווי הרוחב והאורך של מיקום החנות. מספקים את פרטי החנות באמצעות טבלה שמשתנה לאט ב-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, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    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, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

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

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

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

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