Ruby hello world
דוגמת הקוד הזו היא אפליקציית Hello World שפועלת ב-Ruby. בדוגמה הזו מוסבר איך לבצע את הפעולות הבאות:
- מגדירים אימות
- מתחברים למכונה של Bigtable.
- ליצור טבלה חדשה.
- כתיבת נתונים בטבלה.
- קוראים את הנתונים בחזרה.
- מוחקים את הטבלה.
מגדירים אימות
כדי להשתמש בדוגמאות של Ruby שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
הגדרת הסביבה
כדי להריץ את הדוגמה הזו, צריך להתקין את Ruby.
1. התקנת Ruby
כדי לבדוק את גרסת Ruby המינימלית הנדרשת לספריית הלקוח, אפשר לעיין ב-required_ruby_version בקובץ google-cloud-bigtable.gemspec.
הגדרה של Ruby במכונה וירטואלית ב-Compute Engine
אם רוצים להריץ את הדוגמה במכונה וירטואלית ב-Compute Engine, צריך לפעול לפי ההוראות האלה כדי להגדיר את Ruby במכונה וירטואלית של Debian או Ubuntu.נכנסים לדף VM instances במסוף Google Cloud .
אם אין לכם מכונה וירטואלית (VM) של Linux שמשתמשת במערכת ההפעלה Debian או Ubuntu, צריך ליצור אחת ולהתחבר אליה. מידע נוסף זמין במאמר מדריך למתחילים: שימוש במכונה וירטואלית של Linux.
בחלון הטרמינל של מכונת ה-VM, מעדכנים את רשימות החבילות:
sudo apt updateמתקינים את Ruby, את הכלים לפיתוח Ruby ואת
build-essential, שנדרשים לספריית הלקוח:sudo apt install -y ruby ruby-dev build-essentialמוודאים שגרסת Ruby המותקנת עומדת בדרישה המינימלית שצוינה בקובץ
google-cloud-bigtable.gemspec:ruby --version
2. התקנת ספריית הלקוח
כדי להתקין את ספריית הלקוח:
מאתחלים את Bundler כדי ליצור קובץ
Gemfileבתיקיית השורש של הפרויקט:bundle initמוסיפים את
google-cloud-bigtableאלGemfileומתקינים אותו:bundle add google-cloud-bigtable
מידע נוסף על ספריית הלקוח זמין בקובץ ה-README של google-cloud-bigtable.
הרצת הדוגמה
בדוגמת הקוד הזו נעשה שימוש בספריית הלקוח Ruby client library for Bigtable של Google Cloud Client Library for Ruby כדי לתקשר עם Bigtable.
כדי להריץ את תוכנית הדוגמה הזו, פועלים לפי ההוראות לדוגמה ב-GitHub.
שימוש בספריית הלקוח של Cloud עם Bigtable
אפליקציית הדוגמה מתחברת ל-Bigtable ומדגימה כמה פעולות פשוטות.
הוספת דרישה לספריית הלקוח
הדוגמה מחייבת את google/cloud/bigtable, שמספק את המודול Bigtable.
התחברות ל-Bigtable
מגדירים את המשתנים שבהם רוצים להשתמש באפליקציה, ומחליפים את YOUR_PROJECT_ID במזהה של פרויקט תקף Google Cloud . לאחר מכן יוצרים אובייקט Bigtable חדש שבו ישתמשו כדי להתחבר ל-Bigtable.
יצירת טבלה
בודקים אם הטבלה כבר קיימת. אם הוא לא קיים, צריך לבצע קריאה ל-method create_table() כדי ליצור אובייקט Table. בטבלה יש קבוצת עמודות אחת ששומרת גרסה אחת של כל ערך.
כתיבת שורות בטבלה
לאחר מכן, משתמשים במערך מחרוזות של ברכות כדי ליצור כמה שורות חדשות בטבלה. לכל ברכה, יוצרים רשומה באמצעות ה-method new_mutation_entry() של הטבלה. לאחר מכן, משתמשים בשיטה set_cell() של הרשומה כדי להקצות את קבוצת העמודות, את מגדיר העמודה, את הברכה ואת חותמת הזמן לרשומה. לבסוף, כותבים את הרשומה לטבלה באמצעות השיטה mutate_row() של הטבלה.
יצירת מסנן
לפני שקוראים את הנתונים שכתבתם, צריך ליצור מסנן כדי להגביל את הנתונים ש-Bigtable מחזירה. המסנן הזה אומר ל-Bigtable להחזיר רק את הגרסה האחרונה של כל ערך, גם אם הטבלה מכילה גרסאות ישנות יותר שלא נמחקו.
קריאת שורה לפי מפתח השורה
יוצרים אובייקט שורה, ואז קוראים למתודה read_row() ומעבירים את המסנן כדי לקבל גרסה אחת של כל ערך בשורה הזו.
סריקה של כל השורות בטבלה
מבצעים קריאה ל-method read_rows() ומעבירים את המסנן כדי לקבל את כל השורות בטבלה. בגלל שהעברתם את המסנן, Bigtable מחזירה רק גרסה אחת של כל ערך.
מחיקת טבלה
מחיקת הטבלה באמצעות השיטה delete() של הטבלה.
איך הכל משתלב יחד
הנה דוגמת קוד מלאה ללא הערות.