Python hello world

הדוגמה הזו היא אפליקציית hello world, שנכתבה ב-Python, שממחישה איך לבצע את הפעולות הבאות:

  • מגדירים אימות.
  • מתחברים למכונה של Bigtable.
  • יוצרים טבלה חדשה.
  • כתיבת נתונים בטבלה.
  • קוראים את הנתונים בחזרה.
  • מוחקים את הטבלה.

ספריית הלקוח של Python ל-Bigtable מציעה שני ממשקי API, ‏ asyncio וממשק API סינכרוני. אם האפליקציה שלכם היא אסינכרונית, אתם צריכים להשתמש ב-asyncio.

מגדירים אימות

כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Python שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.

  1. התקינו את ה-CLI של Google Cloud.

  2. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  3. אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:

    gcloud auth application-default login

    אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.

    אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

מריצים את הדוגמה

בדוגמה הזו נעשה שימוש בחבילת Bigtable של ספריות הלקוח של Cloud לשימוש ב-Python כדי ליצור תקשורת עם Bigtable. חבילת Bigtable היא הבחירה הטובה ביותר לאפליקציות חדשות. אם אתם צריכים להעביר עומס עבודה קיים של HBase אל Bigtable, תוכלו לעיין בדוגמה 'hello world' שמשתמשת בחבילת HappyBase.

כדי להריץ את תוכנית הדוגמה הזו, פועלים לפי ההוראות לדוגמה ב-GitHub.

שימוש בספריות הלקוח של Cloud עם Bigtable

אפליקציית הדוגמה מתחברת ל-Bigtable ומדגימה כמה פעולות.

התקנה וייבוא של ספריית הלקוח

משתמשים ב-PIP כדי להתקין את חבילות Python הנדרשות בסביבת virtualenv. הדוגמה כוללת קובץ דרישות שמגדיר את החבילות הנדרשות.

google-cloud-bigtable==2.35.0
google-cloud-core==2.5.0

מייבאים את המודולים.

Asyncio

מידע על התקנת ספריית הלקוח של Bigtable ושימוש בה מופיע במאמר ספריות הלקוח של Bigtable.

כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

from google.cloud import bigtable
from google.cloud.bigtable.data import row_filters

סנכרון

מידע על התקנת ספריית הלקוח של Bigtable ושימוש בה מופיע במאמר ספריות הלקוח של Bigtable.

כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

from datetime import datetime, timezone

from google.cloud import bigtable
from google.cloud.bigtable import column_family
from google.cloud.bigtable import row_filters

התחברות ל-Bigtable

מתחברים ל-Bigtable באמצעות bigtable.Client.

Asyncio

מידע על התקנת ספריית הלקוח של Bigtable ושימוש בה מופיע במאמר ספריות הלקוח של Bigtable.

כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

client = bigtable.data.BigtableDataClientAsync(project=project_id)
table = client.get_table(instance_id, table_id)

סנכרון

מידע על התקנת ספריית הלקוח של Bigtable ושימוש בה מופיע במאמר ספריות הלקוח של Bigtable.

כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

# The client must be created with admin=True because it will create a
# table.
client = bigtable.Client(project=project_id, admin=True)
instance = client.instance(instance_id)

צור טבלה

יוצרים מופע של אובייקט טבלה באמצעות Instance.table(). יוצרים קבוצת עמודות ומגדירים את מנגנון איסוף הזבל שלה, ואז מעבירים את קבוצת העמודות אל Table.create() כדי ליצור את הטבלה.

print("Creating the {} table.".format(table_id))
table