כדי לפשט את תהליך יצירת החיבורים המאובטחים מהאפליקציה לאשכול AlloyDB ל-PostgreSQL, אתם יכולים להשתמש במחברי השפות ל-AlloyDB. ספריות הלקוח האלה מספקות את היכולות הבאות:
- חיבורי mTLS אוטומטיים
- תמיכה בהרשאות שמבוססות על ניהול זהויות והרשאות גישה (IAM)
- אימות אוטומטי ב-IAM
מחברי שפות ל-AlloyDB לא יכולים לספק נתיב רשת לאשכול AlloyDB אם אין כבר נתיב רשת.
מידע נוסף על מחברי שפות ל-AlloyDB זמין במאמר סקירה כללית על מחברי שפות ל-AlloyDB.
בדף הזה נדון במחברי השפות הבאים ל-AlloyDB:
- מחבר Java ל-AlloyDB
- מחבר Go ל-AlloyDB
- מחבר Python ל-AlloyDB
לפני שמתחילים
מפעילים את AlloyDB API.
יוצרים מכונה של AlloyDB ומגדירים את משתמש ברירת המחדל.
מידע נוסף על יצירת מכונה זמין במאמר יצירת מכונה ראשית.
מידע נוסף על תפקידי משתמשים זמין במאמר תפקידי IAM מוגדרים מראש ב-AlloyDB.
מגדירים את תפקידי ה-IAM הבאים שנדרשים כדי להתחבר למכונה של AlloyDB:
- לקוח AlloyDB (
roles/alloydb.client) Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer)במאמר ניהול אימות ב-IAM מוסבר אילו תפקידים והרשאות נדרשים.
- לקוח AlloyDB (
התקנת מחברי השפות ל-AlloyDB
Java
מחבר Java ל-AlloyDB הוא ספרייה שמספקת הרשאה והצפנה שמבוססות על IAM כשמתחברים למכונה של AlloyDB. אם אתם משתמשים ב-Spring Boot, קראו את המאמר Spring Boot AlloyDB starter.
התקנה
כדי להתקין את מחבר Java ל-AlloyDB ב-Maven, מוסיפים את הקוד הבא לקובץ pom.xml של הפרויקט:
<!-- Add the connector with the latest version -->
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>alloydb-jdbc-connector</artifactId>
<version>1.12.1</version>
</dependency>
<!-- Add the driver with the latest version -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.7.5</version>
</dependency>
<!-- Add HikariCP with the latest version -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.1.0</version>
</dependency>
כדי להתקין את מחבר Java ל-AlloyDB ב-Gradle, מוסיפים את הקוד הבא לקובץ build.gradle של הפרויקט:
// Add connector with the latest version
implementation group: 'com.google.cloud.alloydb', name: 'alloydb-jdbc-connector', version: '1.12.1'
// Add driver with the latest version
implementation group: 'org.postgresql', name: 'postgresql', version: '42.7.5'
// Add HikariCP with the latest version
implementation group: 'com.zaxxer', name: 'HikariCP', version: '5.1.0'
Python (pg8000)
מחבר Python ל-AlloyDB פועל עם מנהלי ההתקנים של מסד הנתונים pg8000 (סינכרוני) ו-asyncpg (אסינכרוני), כדי לאפשר לחשבונות משתמשים עם הרשאות מתאימות להתחבר למסד נתונים של AlloyDB בלי להוסיף ידנית כתובות IP לרשימת ההיתרים.
התקנה
אפשר להתקין את ספריית AlloyDB Python Connector באמצעות pip install.
אם משתמשים ב-pg8000, מריצים את הפקודה הבאה:
pip install "google-cloud-alloydb-connector[pg8000]" sqlalchemyPython (asyncpg)
מחבר Python ל-AlloyDB פועל עם מנהלי ההתקנים של מסד הנתונים pg8000 (סינכרוני) ו-asyncpg (אסינכרוני), כדי לאפשר לחשבונות משתמשים עם הרשאות מתאימות להתחבר למסד נתונים של AlloyDB בלי להוסיף ידנית כתובות IP לרשימת ההיתרים.
התקנה
אפשר להתקין את ספריית AlloyDB Python Connector באמצעות pip install.
אם משתמשים ב-asyncpg, מריצים את הפקודה הבאה:
pip install "google-cloud-alloydb-connector[asyncpg]" "sqlalchemy[asyncio]"מידע נוסף על השימוש בדרייבר אסינכרוני זמין במאמר שימוש בדרייבר אסינכרוני.
Go (pgx)
מחבר Go ל-AlloyDB הוא מחבר ל-AlloyDB שמיועד לשימוש בשפת Go.
התקנה
אפשר להתקין את AlloyDB Go Connector באמצעות go get.
אם משתמשים ב-pgx, מריצים את הפקודות הבאות:
go get github.com/jackc/pgx/v5
go get cloud.google.com/go/alloydbconnGo (מסד נתונים/SQL)
מחבר Go ל-AlloyDB הוא מחבר ל-AlloyDB שמיועד לשימוש בשפת Go.
התקנה
אפשר להתקין את AlloyDB Go Connector באמצעות go get.
אם משתמשים ב-database/sql, מריצים את הפקודה הבאה:
go get cloud.google.com/go/alloydbconnהגדרת מחברי השפות ל-AlloyDB
Java
כדי להשתמש במחבר Java ל-AlloyDB כדי להתחבר לאשכול AlloyDB, צריך להגדיר אותו לפי השלבים הבאים.
כדי להשתמש בקטע הקוד הזה בהקשר של אפליקציית אינטרנט, עיינו ב-README ב-GitHub.
שימוש בכתובת IP ציבורית
אם אתם משתמשים בכתובת IP ציבורית כדי להתחבר לאשכול AlloyDB, צריך לכלול את הפרטים הבאים:
config.addDataSourceProperty("alloydbIpType", "PUBLIC");
שימוש ב-Private Service Connect
אם אתם משתמשים ב-Private Service Connect כדי להתחבר למכונה של AlloyDB, צריך לכלול את הפרטים הבאים:
config.addDataSourceProperty("alloydbIpType", "PSC");
אימות אוטומטי ב-IAM
כברירת מחדל, מחברי השפות ל-AlloyDB משתמשים באימות מובנה. אתם יכולים להשתמש באימות אוטומטי ב-IAM עם מחבר Java ל-AlloyDB. כדי להפעיל את האפשרות הזו, צריך לכלול את הפרטים הבאים:
config.addDataSourceProperty("alloydbEnableIAMAuth", "true");
Python (pg8000)
כדי להשתמש ב-AlloyDB Python Connector כדי להתחבר לאשכול AlloyDB, מגדירים את המחבר באמצעות השלבים הבאים, אם משתמשים ב-pg8000.
כדי להשתמש בקטע הקוד הזה בהקשר של אפליקציית אינטרנט, עיינו ב-README ב-GitHub.
שימוש בכתובת IP ציבורית
אם אתם משתמשים בכתובת IP ציבורית כדי להתחבר לאשכול AlloyDB, החליפו את פונקציית החיבור בקוד הבא:
def getconn() -> pg8000.dbapi.Connection:
conn: pg8000.dbapi.Connection = connector.connect(
inst_uri,
"pg8000",
user=user,
password=password,
db=db,
# use ip_type to specify public IP
ip_type=IPTypes.PUBLIC,
)
return conn
שימוש ב-Private Service Connect
אם אתם משתמשים ב-Private Service Connect כדי להתחבר למכונה של AlloyDB, צריך לכלול את הפרטים הבאים:
def getconn() -> pg8000.dbapi.Connection:
conn: pg8000.dbapi.Connection = connector.connect(
inst_uri,
"pg8000",
user=user,
password=password,
db=db,
# use ip_type to specify PSC
ip_type=IPTypes.PSC,
)
return conn
אימות אוטומטי ב-IAM
כברירת מחדל, מחברי השפות ל-AlloyDB משתמשים באימות מובנה. אפשר להשתמש באימות אוטומטי ב-IAM עם AlloyDB Python Connector. כדי להפעיל אותו, מחליפים את פונקציית החיבור בקוד הבא:
def getconn() -> pg8000.dbapi.Connection:
conn: pg8000.dbapi.Connection = connector.connect(
inst_uri,
"pg8000",
user=user,
password=password,
db=db,
# use enable_iam_auth to enable IAM authentication
enable_iam_auth=True,
)
return conn
Python (asyncpg)
כדי להשתמש ב-AlloyDB Python Connector כדי להתחבר לאשכול AlloyDB, מגדירים את המחבר באמצעות השלבים הבאים, אם משתמשים ב-asyncpg.
כדי להשתמש בקטע הקוד הזה בהקשר של אפליקציית אינטרנט, עיינו ב-README ב-GitHub.
שימוש בכתובת IP ציבורית
אם אתם משתמשים בכתובת IP ציבורית כדי להתחבר לאשכול AlloyDB, החליפו את פונקציית החיבור בקוד הבא:
async def getconn() -> asyncpg.Connection:
conn: asyncpg.Connection = await connector.connect(
inst_uri,
"asyncpg",
user=user,
password=password,
db=db,
# use ip_type to specify public IP
ip_type=IPTypes.PUBLIC,
)
return conn
שימוש ב-Private Service Connect
אם אתם משתמשים ב-Private Service Connect כדי להתחבר למכונה של AlloyDB, צריך לכלול את הפרטים הבאים:
async def getconn() -> asyncpg.Connection:
conn: asyncpg.Connection = await connector.connect(
inst_uri,
"asyncpg",
user=user,
password=password,
db=db,
# use ip_type to specify PSC
ip_type=IPTypes.PSC,
)
return conn
אימות אוטומטי ב-IAM
כברירת מחדל, מחברי השפות ל-AlloyDB משתמשים באימות מובנה. אפשר להשתמש באימות אוטומטי ב-IAM עם מחבר Python של AlloyDB. כדי להפעיל את זה, צריך להחליף את פונקציית החיבור בקוד הבא:
async def getconn() -> asyncpg.Connection:
conn: asyncpg.Connection = await connector.connect(
inst_uri,
"asyncpg",
user=user,
password=password,
db=db,
# use enable_iam_auth to enable IAM authentication
enable_iam_auth=True,
)
return conn
Go (pgx)
כדי להשתמש ב-AlloyDB Go Connector כדי להתחבר לאשכול AlloyDB, צריך להגדיר את המחבר באמצעות השלבים הבאים, אם משתמשים ב-pgx.
כדי להשתמש בקטע הקוד הזה בהקשר של אפליקציית אינטרנט, עיינו ב-README ב-GitHub.
שימוש בכתובת IP ציבורית
אם אתם משתמשים בכתובת IP ציבורית כדי להתחבר לאשכול AlloyDB, החליפו את הפונקציה d.Dial בקוד הבא:
d.Dial(ctx, instURI, alloydbconn.WithPublicIP())
שימוש ב-Private Service Connect
אם אתם משתמשים ב-Private Service Connect כדי להתחבר למכונה של AlloyDB, צריך לכלול את הפרטים הבאים:
d.Dial(ctx, instURI, alloydbconn.WithPSC())
אימות אוטומטי ב-IAM
כברירת מחדל, מחברי השפות ל-AlloyDB משתמשים באימות מובנה.
אתם יכולים להשתמש באימות אוטומטי ב-IAM עם AlloyDB Go Connector. כדי להפעיל אותה, מחליפים את הפונקציה alloydbconn.NewDialer בקוד הבא:
d, err := alloydbconn.NewDialer(ctx, alloydbconn.WithIAMAuthN())
השבתת הטלמטריה המובנית
האפשרות WithOptOutOfBuiltInTelemetry משביתה את הייצוא של המדדים הפנימיים.
כברירת מחדל, החייגן מדווח על הפעולות הפנימיות שלו לתחילית המדד של המערכת alloydb.googleapis.com. המדדים האלה עוזרים לשפר את הביצועים של AlloyDB ולזהות בעיות בקישוריות של הלקוח. האפשרות הזו שימושית לאפליקציות שפועלות בסביבות שבהן ייצוא המדדים מוגבל. כדי להשבית את הטלמטריה הזו, צריך לספק את האפשרות הבאה כשמפעילים חייגן:
d.Dial(ctx, instURI, alloydbconn.WithOptOutOfBuiltInTelemetry())
Go (מסד נתונים/SQL)
כדי להשתמש ב-AlloyDB Go Connector כדי להתחבר לאשכול AlloyDB, צריך להגדיר את המחבר באמצעות השלבים הבאים, אם משתמשים ב-database/sql.
כדי להשתמש בקטע הקוד הזה בהקשר של אפליקציית אינטרנט, עיינו ב-README ב-GitHub.
שימוש בכתובת IP ציבורית
אם אתם משתמשים בכתובת IP ציבורית כדי להתחבר לאשכול AlloyDB, החליפו את הפונקציה RegisterDriver בקוד הבא:
cleanup, err := postgres.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPublicIP()),
)
שימוש ב-Private Service Connect
אם אתם משתמשים ב-Private Service Connect כדי להתחבר למכונה של AlloyDB, צריך לכלול את הפרטים הבאים:
cleanup, err := postgres.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPSC()),
)
אימות אוטומטי ב-IAM
כברירת מחדל, מחברי השפות ל-AlloyDB משתמשים באימות מובנה.
אתם יכולים להשתמש באימות אוטומטי ב-IAM עם AlloyDB Go Connector. כדי להפעיל את התכונה, מחליפים את הפונקציה RegisterDriver בקוד הבא:
cleanup, err := postgres.RegisterDriver(
"alloydb",
alloydbconn.WithIAMAuthN(),
)
השבתת הטלמטריה המובנית
האפשרות WithOptOutOfBuiltInTelemetry משביתה את הייצוא של המדדים הפנימיים.
כברירת מחדל, החייגן מדווח על הפעולות הפנימיות שלו לתחילית המדד של המערכת alloydb.googleapis.com. המדדים האלה עוזרים ל-AlloyDB לשפר את הביצועים ולזהות בעיות בקישוריות של הלקוח. האפשרות הזו שימושית לאפליקציות שפועלות בסביבות שבהן ייצוא המדדים החוצה מוגבל. כדי להשבית את הטלמטריה הזו, צריך לספק את האפשרות הבאה כשמפעילים חייגן:
cleanup, err := postgres.RegisterDriver(
"alloydb",
alloydbconn.WithOptOutOfBuiltInTelemetry(),
)