Ruby hello world
דוגמת הקוד הזו היא אפליקציית Hello World שפועלת ב-Ruby. הדוגמה ממחישה איך לבצע את המשימות הבאות:
- מגדירים אימות
- מתחברים למכונה של Bigtable.
- ליצור טבלה חדשה.
- כותבים נתונים בטבלה.
- קוראים את הנתונים בחזרה.
- מוחקים את הטבלה.
מגדירים אימות
כדי להשתמש בדוגמאות של Ruby שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
צרו פרטי כניסה לאימות מקומי בחשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות, צריך לוודא ש נכנסתם ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
הגדרת הסביבה
כדי להריץ את הדוגמה הזו, צריך להתקין את Ruby.
1. התקנת Ruby
כדי לבדוק את גרסת Ruby המינימלית שנדרשת לספריית הלקוח, אפשר לעיין ב-required_ruby_version בקובץ google-cloud-bigtable.gemspec.
הגדרה של Ruby במכונה וירטואלית ב-Compute Engine
אם רוצים להריץ את הדוגמה במכונה וירטואלית ב-Compute Engine, צריך לפעול לפי ההוראות האלה כדי להגדיר את Ruby במכונה וירטואלית של Debian או Ubuntu.נכנסים לדף VM instances במסוף Cloud de Confiance .
אם אין לכם מכונה וירטואלית של 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
מידע נוסף על ספריית הלקוח זמין בgoogle-cloud-bigtable README.
הרצת הדוגמה
בדוגמת הקוד הזו נעשה שימוש בספריית הלקוח Ruby client library for Bigtable של Google Cloud Client Library for Ruby כדי לתקשר עם Bigtable.
כדי להריץ את תוכנית הדוגמה הזו, פועלים לפי ההוראות לדוגמה ב-GitHub.
שימוש בספריית הלקוח של Cloud עם Bigtable
אפליקציית הדוגמה מתחברת ל-Bigtable ומדגימה כמה פעולות פשוטות.
דרישה של ספריית הלקוח
הדוגמה דורשת את google/cloud/bigtable, שמספק את המודול Bigtable.
התחברות ל-Bigtable
מגדירים את המשתנים שבהם ישתמשו באפליקציה, ומחליפים את YOUR_PROJECT_ID במזהה של פרויקט Cloud de Confiance תקף. לאחר מכן יוצרים אובייקט Bigtable חדש שישמש לחיבור ל-Bigtable.
יצירת טבלה
בודקים אם הטבלה כבר קיימת. אם הוא לא קיים, צריך לבצע קריאה ל-method create_table() כדי ליצור אובייקט Table. בטבלה יש קבוצת עמודות אחת ששומרת גרסה אחת של כל ערך.
כתיבת שורות לטבלה
בשלב הבא, משתמשים במערך מחרוזות של ברכות כדי ליצור כמה שורות חדשות בטבלה. לכל ברכה, יוצרים רשומה באמצעות ה-method new_mutation_entry() של הטבלה. לאחר מכן, משתמשים בשיטת set_cell() של הרשומה כדי להקצות את קבוצת העמודות, את מגדיר העמודה, את הברכה ואת חותמת הזמן לרשומה. לבסוף, כותבים את הערך בטבלה באמצעות השיטה mutate_row() של הטבלה.
יצירת מסנן
לפני שקוראים את הנתונים שכתבתם, יוצרים מסנן כדי להגביל את הנתונים ש-Bigtable מחזיר. המסנן הזה אומר ל-Bigtable להחזיר רק את הגרסה האחרונה של כל ערך, גם אם הטבלה מכילה גרסאות ישנות יותר שלא נמחקו.
קריאת שורה לפי מפתח השורה
יוצרים אובייקט שורה, ואז קוראים למתודה read_row() ומעבירים את המסנן כדי לקבל גרסה אחת של כל ערך בשורה הזו.
סריקת כל השורות בטבלה
מבצעים קריאה ל-method read_rows() ומעבירים את המסנן כדי לקבל את כל השורות בטבלה. בגלל שהעברתם את המסנן,
Bigtable מחזיר רק גרסה אחת של כל ערך.
מחיקת טבלה
מוחקים את הטבלה באמצעות השיטה delete() של הטבלה.
איך הכל משתלב יחד
הנה דוגמת קוד מלאה ללא הערות.