PHP hello world
דוגמת הקוד הזו היא אפליקציית hello world שפועלת ב-PHP. הדוגמה ממחישה איך לבצע את המשימות הבאות:
- מגדירים אימות
- מתחברים למכונה של Bigtable.
- ליצור טבלה חדשה.
- כתיבת נתונים בטבלה.
- קוראים את הנתונים בחזרה.
- מוחקים את הטבלה.
מגדירים אימות
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Python שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
צרו פרטי כניסה לאימות מקומי בחשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות, צריך לוודא ש נכנסתם ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
הרצת הדוגמה
בדוגמת הקוד הזו נעשה שימוש בספריית הלקוח PHP client library for Cloud Bigtable של Google Cloud Client Library for PHP כדי לתקשר עם Bigtable.
כדי להריץ את תוכנית הדוגמה הזו, פועלים לפי ההוראות לדוגמה ב-GitHub.
שימוש בספריית הלקוח של Cloud עם Bigtable
אפליקציית הדוגמה מתחברת ל-Bigtable ומדגימה כמה פעולות בסיסיות.
הוספת דרישה לספריית הלקוח
בדוגמה נעשה שימוש במחלקת ApiException של ApiCore וגם במספר מחלקות בלקוח PHP ל-Bigtable.
התחברות ל-Bigtable
מגדירים את המשתנים שבהם ישתמשו באפליקציה, באמצעותCloud de Confiance מזהה פרויקט, מזהה מופע Bigtable ומזהה טבלה תקינים. לאחר מכן יוצרים מופעים חדשים של האובייקטים BigtableInstanceAdminClient, BigtableTableAdminClient ו-BigtableClient שמשמשים להתחברות ל-Bigtable.
יצירת טבלה
בודקים אם הטבלה כבר קיימת. אם הוא לא קיים, צריך לבצע קריאה ל-method createtable() כדי ליצור אובייקט Table. בטבלה יש קבוצת עמודות אחת ששומרת גרסה אחת של כל ערך בעמודה.
כתיבת שורות בטבלה
אחר כך, משתמשים במערך מחרוזות של ברכות כדי ליצור כמה שורות חדשות בטבלה. לכל ברכה, יוצרים אובייקט Mutations חדש ומוסיפים אותו ל-entries באמצעות upsert(). לאחר מכן כותבים את הרשומות בטבלה באמצעות השיטה mutateRows() של הטבלה.
שימוש במסנן כדי לקרוא שורה
לפני שקוראים את הנתונים שכתבתם, צריך ליצור מסנן כדי להגביל את הנתונים שמוחזרים מ-Bigtable. המסנן הזה אומר ל-Bigtable להחזיר רק את הגרסה האחרונה של כל ערך, גם אם הטבלה מכילה גרסאות ישנות יותר שלא נמחקו.
יוצרים אובייקט שורה, ואז קוראים ל-method readRow() ומעבירים את המסנן כדי לקבל גרסה אחת של כל עמודה בשורה הזו.
סריקת כל השורות בטבלה
מבצעים קריאה ל-method readRows() ומעבירים את המסנן כדי לקבל את כל השורות בטבלה. בגלל שהעברתם את המסנן, Bigtable מחזיר רק גרסה אחת של כל ערך.
מחיקת טבלה
מוחקים את הטבלה באמצעות השיטה deleteTable() של לקוח האדמין.
איך הכל משתלב יחד
הנה דוגמת הקוד המלאה בלי הערות.