יצירה ועדכון של מוניטורים ב-Bigtable
במאמר הזה מוסבר איך ליצור ולעדכן מונים ב-Bigtable באמצעות aggregates, תאים בטבלה שמצטברים בהם ערכים בזמן הכתיבה. במדריך למתחילים הזה משתמשים ב-Google Cloud CLI וב-cbt CLI כדי ליצור שלושה מונים:
- מונה שמציג סכום מצטבר
- מונה שעוקב אחרי הערך המינימלי מבין כל הערכים שנוספו
- מונה שעוקב אחרי הערך המקסימלי מכל הערכים שנוספו
לפני שמתחילים
-
נכנסים לחשבון Google.
אם עדיין אין חשבון, יוצרים חשבון חדש.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
אחרי שתאתחלו את ה-CLI של gcloud, עדכנו אותו והתקינו את הרכיבים הנדרשים:
gcloud components update gcloud components install cbt
-
יוצרים או בוחרים 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 .
מפעילים את ממשקי Cloud Bigtable API ו-Cloud Bigtable Admin API:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com -
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
אחרי שתאתחלו את ה-CLI של gcloud, עדכנו אותו והתקינו את הרכיבים הנדרשים:
gcloud components update gcloud components install cbt
-
יוצרים או בוחרים 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 .
מפעילים את ממשקי Cloud Bigtable API ו-Cloud Bigtable Admin API:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com - מריצים את הפקודות הבאות כדי לוודא ש-CLI של gcloud מעודכן וכולל את
cbtCLI:gcloud components updategcloud components install cbt
יצירת מכונה של Bigtable
משתמשים בפקודה
bigtable instances createכדי ליצור מכונה.gcloud bigtable instances create counters-quickstart-instance \ --display-name="Counters quickstart instance" \ --cluster-config=id="counters-quickstart-cluster",zone="us-east1-c"
התחברות למכונה
כדי להגדיר את ה-CLI של
cbtכך שישתמש בפרויקט ובמופע שלכם, צריך ליצור קובץ.cbtrc.echo project = PROJECT_ID >> ~/.cbtrc && echo instance = counters-quickstart-instance >> ~/.cbtrcמחליפים את PROJECT_ID במזהה הפרויקט שבו אתם משתמשים.
מוודאים שהגדרתם את הקובץ
.cbtrcבצורה נכונה.cat ~/.cbtrcבמסוף מוצג התוכן של הקובץ
.cbtrc, שנראה כך:project = PROJECT_ID instance = counters-quickstart-instance
עכשיו אפשר להשתמש ב-
cbtCLI עם המופע.
יצירת טבלה עם משפחות עמודות מצטברות
משתמשים בפקודה
cbt createtableכדי ליצור טבלה בשםcounters_quickstart_tableעם שלוש משפחות של עמודות מצטברות. מגדירים לכל קבוצת עמודות סוג צבירה שונה:- קבוצת עמודות
max_familyהיא מסוגMaxעם סוג קלט שלInteger. - קבוצת עמודות
min_familyהיא מסוגMinעם סוג קלט שלInteger. - קבוצת עמודות
sum_familyהיא מסוגSumעם סוג קלט שלInteger.
cbt createtable counters_quickstart_table families=sum_family:never:intsum,min_family:never:intmin,max_family:never:intmax- קבוצת עמודות
מריצים את הפקודה
cbt lsכדי לראות את רשימת העמודות.cbt ls counters_quickstart_tableהפלט שמוצג במעטפת אמור להיראות כך:
Family Name GC Policy ----------- --------- max_family <never> min_family <never> sum_family <never>
יצירת מוני נתונים בטבלה
משתמשים בפקודה
cbt addtocellכדי לכתוב ערך ראשוני של5בעמודה חדשה בכל אחת משלוש משפחות העמודות, באמצעות מפתח שורה שלrow-key1וחותמת זמן של0. הפעולה הזו יוצרת תאים מצטברים, שמשמשים כדלפקים.cbt addtocell counters_quickstart_table row-key1 sum_family:sum_column=5@0 cbt addtocell counters_quickstart_table row-key1 min_family:min_column=5@0 cbt addtocell counters_quickstart_table row-key1 max_family:max_column=5@0
קריאת הנתונים
כדי להציג את ערכי המונה כמספרים שלמים ולא כבייטים, צריך להגדיר קובץ
yamlש-cbtCLI יכול להשתמש בו כדי לעצב את הפלט. מריצים את הפקודה הבאה:echo "families:" > cbtformat.yaml echo " max_family:" >> cbtformat.yaml echo " default_encoding: BigEndian" >> cbtformat.yaml echo " default_type: INT64" >> cbtformat.yaml echo " min_family:" >> cbtformat.yaml echo " default_encoding: BigEndian" >> cbtformat.yaml echo " default_type: INT64" >> cbtformat.yaml echo " sum_family:" >> cbtformat.yaml echo " default_encoding: BigEndian" >> cbtformat.yaml echo " default_type: INT64" >> cbtformat.yamlמוודאים שהגדרתם את הקובץ
cbtformat.yamlבצורה נכונה.cat ~/cbtformat.yamlבמסוף מוצג התוכן של הקובץ
cbtformat.yaml, שנראה בערך כך:families: max_family: default_encoding: BigEndian default_type: INT64 min_family: default_encoding: BigEndian default_type: INT64 sum_family: default_encoding: BigEndian default_type: INT64כדי להעביר את הקובץ
yamlולקרוא את הנתונים שהוספתם לטבלה, משתמשים בפקודהcbt read. עכשיו בטבלה יש שלוש עמודות, ולכל אחת מהן יש סוג צבירה שונה.cbt read counters_quickstart_table format-file=$HOME/cbtformat.yamlהפלט שמוצג ב-Shell אמור להיראות כך: הערכים מפורמטים כמספרים שלמים, וחותמות הזמן הן בפורמט UTC.
row-key1 max_family:max_column @ 1970/01/01-00:00:00.000000 5 min_family:min_column @ 1970/01/01-00:00:00.000000 5 sum_family:sum_column @ 1970/01/01-00:00:00.000000 5
עדכון המונים
מוסיפים ערך של 3 לכל עמודה בטבלה, באמצעות אותן חותמות זמן שהשתמשתם בהן כשנוצרו התאים. בכל עמודה, ערך התא ממוזג עם הערך הקיים על סמך סוג הצבירה של התא.
cbt addtocell counters_quickstart_table row-key1 sum_family:sum_column=3@0 cbt addtocell counters_quickstart_table row-key1 min_family:min_column=3@0 cbt addtocell counters_quickstart_table row-key1 max_family:max_column=3@0משתמשים שוב בפקודה
cbt readכדי לקרוא את הנתונים בטבלה. כל תא מכיל עכשיו ערך מצטבר.cbt read counters_quickstart_table format-file=$HOME/cbtformat.yamlהתא
sum_columnמכיל את הסכום של 5 ו-3 (8), התאmin_columnמכיל את הערך המינימלי מבין שני הערכים שנכתבו בו (3), והתאmax_columnמכיל את הערך המקסימלי מבין שני הערכים שנכתבו בו (5).row-key1 max_family:max_column @ 1970/01/01-00:00:00.000000 5 min_family:min_column @ 1970/01/01-00:00:00.000000 3 sum_family:sum_column @ 1970/01/01-00:00:00.000000 8אופציונלי: מריצים שאילתה בטבלה במסוף Google Cloud באמצעות SQL.
במסוף Google Cloud , פותחים את הדף Bigtable instances.
בוחרים באפשרות
counters-quickstart-instanceמהרשימה.בתפריט הניווט, לוחצים על Bigtable Studio.
לוחצים על הכרטיסייה עורך.
מדביקים את השאילתה הזו בעורך:
SELECT * FROM `counters_quickstart_table`לוחצים על Run. תוצאות השאילתה מוצגות בטבלה Results ודומות לתוצאות הבאות:
_key max_family min_family sum_family row-key1 { "max_column": 5 } { "min_column": 5 } { "sum_column": 8 }
הסרת המשאבים
כדי לא לצבור חיובים בחשבון על המשאבים שבהם השתמשתם בדף הזה, אתם צריכים למחוק את הפרויקט יחד עם המשאבים. Google Cloud Google Cloud
בטרמינל, מוחקים את הטבלה
counters_quickstart_table:cbt deletetable counters_quickstart_tableמוחקים את המכונה:
cbt deleteinstance counters-quickstart-instanceמוחקים את הקובץ
.cbtrc:rm ~/.cbtrcמחיקת קובץ העיצוב:
rm ~/cbtformat.yamlאם רוצים, מבטלים את פרטי הכניסה של ה-CLI של gcloud:
gcloud auth revoke