AlloyDB 語言連接器是程式庫,可簡化建立叢集安全連線的程序,請使用下列項目:
- 自動建立 mTLS 連線
- 支援以身分與存取權管理 (IAM) 為基礎的授權
- 自動化 IAM 驗證
如果沒有網路路徑,AlloyDB 語言連接器就無法提供 AlloyDB 叢集的網路路徑。
如要進一步瞭解 AlloyDB 語言連接器,請參閱 AlloyDB 語言連接器總覽。
本頁將探討下列 AlloyDB 語言連接器:
- AlloyDB Java 連接器
- AlloyDB Go 連接器
- AlloyDB Python 連接器
事前準備
啟用 AlloyDB API。
建立 AlloyDB 執行個體,並設定預設使用者。
如要進一步瞭解如何建立執行個體,請參閱建立主要執行個體。
如要進一步瞭解使用者角色,請參閱「預先定義的 AlloyDB IAM 角色」。
設定連線至 AlloyDB 執行個體所需的下列角色和權限:
roles/alloydb.client
roles/serviceusage.serviceUsageConsumer
如要進一步瞭解所需角色和權限,請參閱管理 IAM 驗證。
安裝 AlloyDB 語言連接器
Java
AlloyDB Java 連接器是程式庫,可提供 IAM 型授權和加密機制,連線至 AlloyDB 執行個體。如果您使用 Spring Boot,請參閱 Spring Boot AlloyDB 啟動器。
安裝
如果是 Maven,您可以將下列項目新增至專案的 pom.xml
,安裝 AlloyDB Java 連接器:
<!-- Add the connector with the latest version -->
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>alloydb-jdbc-connector</artifactId>
<version>0.4.0</version>
</dependency>
<!-- Add the driver with the latest version -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>46.6.0<</version>
</dependency>
<!-- Add HikariCP with the latest version -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.1.0</version>
</dependency>
如果是 Gradle,您可以在專案的 gradle.build
中加入下列項目,安裝 AlloyDB Java 連接器:
// Add connector with the latest version
implementation group: 'com.google.cloud.alloydb', name: 'alloydb-jdbc-connector', version: '0.4.0'
// Add driver with the latest version
implementation group: 'org.postgresql', name: 'postgresql', version: '46.6.0'
// Add HikariCP with the latest version
implementation group: 'com.zaxxer', name: 'HikariCP', version: '5.1.0'
Python (pg8000)
AlloyDB Python 連接器是一個程式庫,可與資料庫驅動程式搭配使用,讓具備足夠權限的使用者連線至 AlloyDB 資料庫,不必手動將 IP 加入允許清單。
安裝
您可以使用 pip install
安裝 AlloyDB Python 連接器程式庫。
如果您使用 pg8000,請執行下列指令:
pip install "google-cloud-alloydb-connector[pg8000]" sqlalchemy
Python (asyncpg)
AlloyDB Python 連接器是一個程式庫,可與資料庫驅動程式搭配使用,讓具備足夠權限的使用者連線至 AlloyDB 資料庫,不必手動將 IP 加入允許清單。
安裝
您可以使用 pip install
安裝 AlloyDB Python 連接器程式庫。
如果您使用 asyncpg,請執行下列指令:
如果是 asyncpg,請使用:
pip install "google-cloud-alloydb-connector[asyncpg]" "sqlalchemy[asyncio]"
如要進一步瞭解非同步驅動程式的使用方式,請參閱「非同步驅動程式的使用方式」。
Go (pgx)
AlloyDB Go 連接器是專為 Go 語言設計的 AlloyDB 連接器。
安裝
您可以使用 go get
安裝 AlloyDB Go 連接器。
如果您使用 pgx,請執行下列指令:
go get github.com/jackc/pgx/v5
go get cloud.google.com/go/alloydbconn
Go (database/sql)
AlloyDB Go 連接器是專為 Go 語言設計的 AlloyDB 連接器。
安裝
您可以使用 go get
安裝 AlloyDB Go 連接器。
如果您使用 database/sql,請執行下列指令:
go get cloud.google.com/go/alloydbconn
設定 AlloyDB 語言連接器
Java
如要使用 AlloyDB Java 連接器連線至 AlloyDB 叢集,請按照下列步驟進行設定。
如要在網頁應用程式中使用這個程式碼片段,請參閱 GitHub 上的 README。
使用公開 IP
如果您使用公開 IP 連線至 AlloyDB 叢集,請加入下列項目:
config.addDataSourceProperty("alloydbIpType", "PUBLIC");
使用 Private Service Connect
如果您使用 Private Service Connect 連線至 AlloyDB 執行個體,請加入下列項目:
config.addDataSourceProperty("alloydbIpType", "PSC");
自動 IAM 驗證
根據預設,AlloyDB 語言連接器會使用內建驗證機制。您可以使用 AlloyDB Java 連接器的自動 IAM 驗證功能。如要啟用,請加入下列項目:
config.addDataSourceProperty("alloydbEnableIAMAuth", "true");
Python (pg8000)
如要使用 AlloyDB Python 連接器連線至 AlloyDB 叢集,請按照下列步驟設定連接器 (如果您使用 pg8000
)。
如要在網頁應用程式中使用這個程式碼片段,請參閱 GitHub 上的 README。
使用公開 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 語言連接器會使用內建驗證機制。您可以使用 AlloyDB Python 連接器進行自動 IAM 驗證。如要啟用,請將連線函式替換為下列內容:
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 連接器連線至 AlloyDB 叢集,請按照下列步驟設定連接器 (如果您使用 async
)。
如要在網頁應用程式中使用這個程式碼片段,請參閱 GitHub 上的 README。
使用公開 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 語言連接器會使用內建驗證機制。您可以使用 AlloyDB Python 連接器,自動進行 IAM 驗證。如要啟用,請將連線函式替換為下列內容:
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 連接器連線至 AlloyDB 叢集,請按照下列步驟設定連接器 (如果您使用 pgx
)。
如要在網頁應用程式中使用這個程式碼片段,請參閱 GitHub 上的 README。
使用公開 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 語言連接器會使用內建驗證機制。您可以使用 AlloyDB Go 連接器進行自動 IAM 驗證。如要啟用,請將 alloydbconn.NewDialer
函式替換為以下內容:
d, err := alloydbconn.NewDialer(ctx, alloydbconn.WithIAMAuthN())
停用內建遙測功能
WithOptOutOfBuiltInTelemetry
選項會停用內部指標匯出功能。
根據預設,撥號器會向alloydb.googleapis.com
系統指標前置字元回報內部作業。這些指標可協助 AlloyDB 提升效能,並找出用戶端連線問題。如果應用程式在禁止匯出輸出指標的環境中運作,這個選項就非常實用。如要停用這項遙測功能,請在初始化撥號器時提供下列選項:
d.Dial(ctx, instURI, alloydbconn.WithOptOutOfBuiltInTelemetry())
Go (database/sql)
如要使用 AlloyDB Go 連接器連線至 AlloyDB 叢集,請按照下列步驟設定連接器 (如果您使用 database/sql
)。
如要在網頁應用程式中使用這個程式碼片段,請參閱 GitHub 上的 README。
使用公開 IP
如果您使用公開 IP 連線至 AlloyDB 叢集,請將 RegisterDriver
函式替換為下列項目:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPublicIP())
)
使用 Private Service Connect
如果您使用 Private Service Connect 連線至 AlloyDB 執行個體,請加入下列項目:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPSC())
)
自動 IAM 驗證
根據預設,AlloyDB 語言連接器會使用內建驗證機制。您可以使用 AlloyDB Go 連接器進行自動 IAM 驗證。如要啟用,請將 RegisterDriver
函式替換為下列內容:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithIAMAuthN()
)
停用內建遙測功能
WithOptOutOfBuiltInTelemetry
選項會停用內部指標匯出功能。
根據預設,撥號器會向alloydb.googleapis.com
系統指標前置字元回報內部作業。這些指標可協助 AlloyDB 提升效能,並找出用戶端連線問題。如果應用程式在禁止匯出輸出指標的環境中運作,這個選項就非常實用。如要停用這項遙測功能,請在初始化撥號器時提供下列選項:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithOptOutOfBuiltInTelemetry(),
)