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