HappyBase API hello world
הדוגמה הזו היא אפליקציית hello world פשוטה מאוד, שנכתבה ב-Python וממחישה איך:
- מגדירים אימות
- מתחברים למכונה של Bigtable.
- ליצור טבלה חדשה.
- כתיבת נתונים בטבלה.
- קוראים את הנתונים בחזרה.
- מוחקים את הטבלה.
מגדירים אימות
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Python שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
הרצת הדוגמה
בדוגמה הזו נעשה שימוש בחבילת HappyBase של ספריית הלקוח של Google Cloud ל-Python, שהיא הטמעה של ממשקי ה-API של HappyBase, כדי לתקשר עם Bigtable. אם אתם צריכים להעביר עומס עבודה קיים של HBase ל-Bigtable, אתם יכולים להשתמש בחבילת HappyBase. לגבי אפליקציות חדשות, אפשר לעיין בדוגמה hello world שמשתמשת בחבילת Bigtable.
כדי להריץ את תוכנית הדוגמה הזו, פועלים לפי ההוראות לדוגמה ב-GitHub.
שימוש בממשקי HappyBase API עם Bigtable
אפליקציית הדוגמה מתחברת ל-Bigtable ומדגימה כמה פעולות פשוטות.
התקנה וייבוא של ספריית הלקוח
אפשר להתקין את חבילות Python הנדרשות באמצעות PIP בסביבת virtualenv. הדוגמה כוללת קובץ דרישות שמגדיר את החבילות הנדרשות.
אחר כך אפשר לייבא את המודולים.
התחברות ל-Bigtable
כדי להתחבר ל-Bigtable, מעבירים bigtable.Client אל happybase.Connection.
יצירת טבלה
משתמשים ב-Connection.create_table() כדי ליצור טבלה וקבוצות של עמודות.
כתיבת שורות בטבלה
קבלת Table קיים דרך Connection.table(). משתמשים ב-Table.put() כדי לכתוב שורה בטבלה.
קריאת שורה לפי המפתח שלה
אפשר לאחזר שורה ישירות באמצעות המפתח שלה באמצעות Table.row().
סריקה של כל השורות בטבלה
כדי לקבל טווח של שורות, משתמשים ב-Table.scan().
מחיקת טבלה
מחיקת טבלה באמצעות Connection.delete_table().
איך הכל משתלב יחד
זוהי הדוגמה המלאה ללא הערות.