ספריית הלקוח של Python ל-Spanner פועלת עם Spanner Omni באותו אופן שבו היא פועלת עם Spanner. במאמר הזה נסביר איך להגדיר את ספריית הלקוח של Python כדי ליצור חיבורים מאובטחים ל-Spanner Omni. כדי ליצור את החיבורים האלה, צריך להגדיר את אפשרויות הלקוח כשיוצרים לקוח.
ספריית הלקוח של Python תומכת בטקסט רגיל, ב-TLS, ב-TLS עם פרטי כניסה ובחיבורי mTLS.
מידע נוסף זמין במאמר תחילת העבודה עם Spanner ב-Python במאמרי העזרה של Spanner.
לפני שמתחילים
כדי להשתמש בספריית הלקוח של Python עם Spanner Omni, צריך להשתמש בספריית הלקוח של Python בגרסה 3.72.0 ואילך.
כדי להתקין את חבילת Python של Spanner Omni, מריצים את הפקודה הבאה:
pip install google-cloud-spanner>=3.72.0
הגדרת האובייקט Client
כשמגדירים את האובייקט Client, מציינים את נקודת הקצה של Spanner Omni ב-client_options ומציינים את instance_type=InstanceType.OMNI.
בדוגמאות הבאות אפשר לראות איך להגדיר את האובייקט Client לכל אחת מהגדרות האבטחה הנתמכות:
טקסט פשוט
כדי ליצור חיבור בטקסט פשוט, מציינים את instance_type=InstanceType.OMNI
ואת use_plain_text=True:
from google.cloud import spanner
from google.cloud.spanner_v1 import InstanceType
spanner_client = spanner.Client(
client_options={"api_endpoint": "ENDPOINT"},
instance_type=InstanceType.OMNI,
use_plain_text=True,
)
מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT: נקודת הקצה של מופע Spanner Omni.
TLS
כדי ליצור חיבור TLS, מציינים את הנתיב לאישור ה-CA באמצעות ca_certificate:
from google.cloud import spanner
from google.cloud.spanner_v1 import InstanceType
spanner_client = spanner.Client(
client_options={"api_endpoint": "ENDPOINT"},
instance_type=InstanceType.OMNI,
ca_certificate="PATH_TO_CA_CERT",
)
מחליפים את מה שכתוב בשדות הבאים:
ENDPOINT: נקודת הקצה של מופע Spanner Omni.
PATH_TO_CA_CERT: הנתיב לקובץ אישור ה-CA.
TLS עם פרטי כניסה
כדי ליצור חיבור TLS עם אימות של שם משתמש וסיסמה,
מציינים את הפרמטרים username ו-password לצד אישור ה-CA:
from google.cloud import spanner
from google.cloud.spanner_v1 import InstanceType
spanner_client = spanner.Client(
client_options={"api_endpoint": "ENDPOINT"},
instance_type=InstanceType.OMNI,
ca_certificate="PATH_TO_CA_CERT",
username="USERNAME",
password="PASSWORD",
)
מחליפים את מה שכתוב בשדות הבאים:
ENDPOINT: נקודת הקצה של מופע Spanner Omni.
PATH_TO_CA_CERT: הנתיב לקובץ אישור ה-CA.
USERNAME: שם המשתמש שלכם ב-Spanner Omni.
PASSWORD: הסיסמה של המשתמש ב-Spanner Omni.
mTLS
כדי ליצור חיבור TLS הדדי (mTLS), מציינים את אישור ה-CA, את אישור הלקוח ואת המפתח הפרטי של הלקוח:
from google.cloud import spanner
from google.cloud.spanner_v1 import InstanceType
spanner_client = spanner.Client(
client_options={"api_endpoint": "ENDPOINT"},
instance_type=InstanceType.OMNI,
ca_certificate="PATH_TO_CA_CERT",
client_certificate="PATH_TO_CLIENT_CERT",
client_key="PATH_TO_CLIENT_KEY",
)
מחליפים את מה שכתוב בשדות הבאים:
ENDPOINT: נקודת הקצה של מופע Spanner Omni.
PATH_TO_CA_CERT: הנתיב לקובץ אישור ה-CA.
PATH_TO_CLIENT_CERT: הנתיב לקובץ אישור הלקוח.
PATH_TO_CLIENT_KEY: הנתיב לקובץ של המפתח הפרטי של הלקוח.
קבלת מסד נתונים
אחרי שמגדירים את אובייקט Client, אפשר לקבל מסד נתונים. מכיוון ש-Spanner Omni לא משתמש Google Cloud במזהי פרויקט או מופע, צריך לציין default כמזהה המופע כשיוצרים Instance:
instance = spanner_client.instance("default")
database = instance.database("DATABASE_ID")
מחליפים את מה שכתוב בשדות הבאים:
-
DATABASE_ID: המזהה של מסד הנתונים של Spanner Omni.