יצירת מכונה וכתיבת נתונים באמצעות ה-CLI של cbt

אם אתם לומדים על Bigtable, אתם יכולים לעבור על מדריך להתחלה מהירה כדי להכיר את העקרונות הבסיסיים שבהם תשתמשו בסביבת ייצור.

במדריך למתחילים הזה תבצעו את הפעולות הבאות:

  • מתחברים למכונה של Bigtable.
  • ביצוע משימות ניהוליות בסיסיות.
  • כתיבת נתונים בטבלה.
  • קריאת נתונים מטבלה.

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

  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. מפעילים את Cloud Bigtable API ואת Cloud Bigtable Admin API, אם הם עדיין לא מופעלים:

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

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

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  8. מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM: roles/bigtable.admin

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

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

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

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

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

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

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

  14. מפעילים את Cloud Bigtable API ואת Cloud Bigtable Admin API, אם הם עדיין לא מופעלים:

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

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

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  15. מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM: roles/bigtable.admin

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

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

    • ‫PROJECT_ID: מזהה הפרויקט.
    • ‫USER_IDENTIFIER: המזהה של חשבון המשתמש . לדוגמה, myemail@example.com.
    • ‫ROLE: תפקיד ה-IAM שאתם מקצים לחשבון המשתמש.
  16. מריצים את הפקודה הבאה כדי להתקין את cbt CLI :
    gcloud components install cbt

יצירת מכונה של Bigtable

  1. פותחים את הדף Create instance במסוף Google Cloud .

    יצירת מופע

  2. בשדה Instance name (שם האירוע), מזינים Quickstart instance.

  3. בשדה Instance ID (מזהה מכונה), מזינים quickstart-instance.

  4. לוחצים על Continue.

  5. בקטע Storage type, בוחרים באפשרות SSD.

  6. לוחצים על Continue.

  7. בשדה מזהה האשכול, מזינים quickstart-instance-c1.

  8. בשדה Region, בוחרים אזור שקרוב אליכם.

  9. בשדה Zone, בוחרים באפשרות Any (כל אזור).

  10. בקטע מצב שינוי גודל הצומת, בוחרים באפשרות הקצאה ידנית.

  11. בשדה כמות, בוחרים באפשרות 1.

  12. לוחצים על יצירה כדי ליצור את המופע.

התחברות למכונה

  1. מגדירים את cbt CLI כך שישתמש בפרויקט ובמופע שלכם על ידי יצירת קובץ .cbtrc, והחלפת PROJECT_ID במזהה של הפרויקט שבו יצרתם את מופע Bigtable:

    echo project = PROJECT_ID >> ~/.cbtrc && echo instance = quickstart-instance >> ~/.cbtrc
    
  2. מוודאים שהגדרתם את הקובץ .cbtrc בצורה נכונה:

    cat ~/.cbtrc

    במסוף מוצג התוכן של הקובץ .cbtrc, שנראה כך:

    project = PROJECT_ID
    instance = quickstart-instance

    עכשיו אפשר להשתמש ב-cbt CLI עם המופע.

קריאה וכתיבה של נתונים

ב-Bigtable הנתונים מאוחסנים בטבלאות, שמכילות שורות. כל שורה מזוהה באמצעות מפתח שורה.

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

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

  1. יוצרים טבלה בשם my-table.

    cbt createtable my-table
  2. הצגת רשימת הטבלאות:

    cbt ls

    הפלט של הפקודה אמור להיראות כך:

        my-table

  3. הוספת קבוצת עמודות אחת בשם cf1:

    cbt createfamily my-table cf1
  4. מציגים את רשימת קבוצות העמודות:

    cbt ls my-table

    הפלט של הפקודה אמור להיראות כך:

        Family Name     GC Policy
        -----------     ---------
        cf1             <never>

  5. כותבים את הערכים test-value1 ו-test-value2 בשורה r1, באמצעות קבוצת העמודות cf1 ומגדיר העמודה c1:

    cbt set my-table r1 cf1:c1=test-value1
      cbt set my-table r1 cf1:c1=test-value2
    
  6. משתמשים בפקודה cbt read כדי לקרוא את הנתונים שהוספתם לטבלה:

    cbt read my-table

    הפלט שמוצג במעטפת אמור להיראות כך:

        ----------------------------------------
        r1
          cf1:c1                                   @ 2023/03/22-06:56:11.323000
            "test-value1"
          cf1:c1                                   @ 2023/03/22-06:56:04.361000
            "test-value2"

    שני ערכים עם חותמת זמן מאוחסנים באותה עמודה בשורה r1.

הסרת המשאבים

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

  1. מחיקת הטבלה my-table:

    cbt deletetable my-table
  2. מוחקים את המכונה:

    cbt deleteinstance quickstart-instance
  3. מוחקים את הקובץ .cbtrc:

    rm ~/.cbtrc

  4. אם רוצים, מבטלים את פרטי הכניסה של ה-CLI של gcloud:

    gcloud auth revoke

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