I connettori di linguaggi AlloyDB sono librerie che forniscono una procedura semplificata per stabilire connessioni sicure al cluster utilizzando quanto segue:
- Connessioni mTLS automatiche
- Supporto dell'autorizzazione basata su Identity and Access Management (IAM)
- Autenticazione IAM automatica
I connettori di lingua AlloyDB non possono fornire un percorso di rete a un cluster AlloyDB se non è già presente un percorso di rete.
Per ulteriori informazioni sui connettori di lingua AlloyDB, consulta la panoramica dei connettori di lingua AlloyDB.
Questa pagina illustra i seguenti connettori di lingua AlloyDB:
- Il connettore Java AlloyDB
- Il connettore AlloyDB Go
- Connettore Python AlloyDB
Prima di iniziare
Abilita l'API AlloyDB Admin.
Crea un'istanza AlloyDB e configura l'utente predefinito.
Per saperne di più sulla creazione di un'istanza, consulta Creare un'istanza principale.
Per ulteriori informazioni sui ruoli utente, consulta Ruoli IAM predefiniti di AlloyDB.
Configura i seguenti ruoli e autorizzazioni necessari per connetterti a un'istanza AlloyDB:
roles/alloydb.client
roles/serviceusage.serviceUsageConsumer
Per ulteriori informazioni su quali ruoli e autorizzazioni sono richiesti, consulta Gestire l'autenticazione IAM.
Installa i connettori dei linguaggi AlloyDB
Java
Il connettore Java AlloyDB è una libreria che fornisce autorizzazione e crittografia basate su IAM quando ti connetti a un'istanza AlloyDB.
Installazione
Per Maven, puoi installare il connettore Java AlloyDB aggiungendo quanto segue al pom.xml
del tuo progetto:
<!-- 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>
Per Gradle, puoi installare il connettore Java AlloyDB includendo quanto segue
in gradle.build
del progetto:
// 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)
Il connettore Python AlloyDB è una libreria che può essere utilizzata insieme a un driver di database per consentire agli utenti con autorizzazioni sufficienti di connettersi a un database AlloyDB senza dover inserire manualmente gli IP nella lista consentita.
Installazione
Puoi installare la libreria AlloyDB Python Connector con pip install
.
Se utilizzi pg8000, esegui il seguente comando:
pip install "google-cloud-alloydb-connector[pg8000]" sqlalchemy
Python (asyncpg)
Il connettore Python AlloyDB è una libreria che può essere utilizzata insieme a un driver di database per consentire agli utenti con autorizzazioni sufficienti di connettersi a un database AlloyDB senza dover inserire manualmente gli IP nella lista consentita.
Installazione
Puoi installare la libreria AlloyDB Python Connector con pip install
.
Se utilizzi asyncpg, esegui il seguente comando:
Per asyncpg, utilizza:
pip install "google-cloud-alloydb-connector[asyncpg]" "sqlalchemy[asyncio]"
Per ulteriori informazioni sull'utilizzo dei driver asincroni, consulta Utilizzo dei driver asincroni.
Go (pgx)
Il connettore AlloyDB Go è un connettore AlloyDB progettato per l'utilizzo con il linguaggio Go.
Installazione
Puoi installare il connettore AlloyDB Go con go get
.
Se utilizzi pgx, esegui il seguente comando:
go get github.com/jackc/pgx/v5
go get cloud.google.com/go/alloydbconn
Go (database/SQL)
Il connettore AlloyDB Go è un connettore AlloyDB progettato per l'utilizzo con il linguaggio Go.
Installazione
Puoi installare il connettore AlloyDB Go con go get
.
Se utilizzi database/sql, esegui il seguente comando:
go get cloud.google.com/go/alloydbconn
Configura i connettori di lingua AlloyDB
Java
Per utilizzare il connettore Java AlloyDB per connetterti al tuo cluster AlloyDB, configuralo seguendo questi passaggi.
Per utilizzare questo snippet nel contesto di un'applicazione web, consulta il file README su GitHub.
Utilizzare un IP pubblico
Se utilizzi un IP pubblico per connetterti al cluster AlloyDB, includere quanto segue:
config.addDataSourceProperty("alloydbIpType", "PUBLIC");
Utilizzare Private Service Connect
Se utilizzi Private Service Connect per connetterti all'istanza AlloyDB, incorpora quanto segue:
config.addDataSourceProperty("alloydbIpType", "PSC");
Autenticazione IAM automatica
Per impostazione predefinita, i connettori di lingua AlloyDB utilizzano l'autenticazione integrata. Puoi utilizzare l'autenticazione IAM automatica con il connettore Java AlloyDB. Per attivarla, includi quanto segue:
config.addDataSourceProperty("alloydbEnableIAMAuth", "true");
Python (pg8000)
Per utilizzare il connettore Python AlloyDB per connetterti al tuo cluster AlloyDB, configura il connettore seguendo i passaggi riportati di seguito, se utilizzi pg8000
.
Per utilizzare questo snippet nel contesto di un'applicazione web, consulta il file README su GitHub.
Utilizzare un IP pubblico
Se utilizzi un IP pubblico per connetterti al cluster AlloyDB, sostituire la funzione di connessione con quanto segue:
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
Utilizzare Private Service Connect
Se utilizzi Private Service Connect per connetterti all'istanza AlloyDB, incorpora quanto segue:
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
Autenticazione IAM automatica
Per impostazione predefinita, i connettori di lingua AlloyDB utilizzano l'autenticazione integrata. Puoi utilizzare l'autenticazione IAM automatica con il connettore Python AlloyDB. Per attivarla, sostituisci la funzione di connessione con quanto segue:
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)
Per utilizzare il connettore Python AlloyDB per connetterti al tuo cluster AlloyDB, configura il connettore seguendo i passaggi riportati di seguito, se utilizzi async
.
Per utilizzare questo snippet nel contesto di un'applicazione web, consulta il file README su GitHub.
Utilizzare un IP pubblico
Se utilizzi un IP pubblico per connetterti al cluster AlloyDB, sostituire la funzione di connessione con quanto segue:
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
Utilizzare Private Service Connect
Se utilizzi Private Service Connect per connetterti all'istanza AlloyDB, incorpora quanto segue:
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
Autenticazione IAM automatica
Per impostazione predefinita, i connettori di lingua AlloyDB utilizzano l'autenticazione integrata. Puoi utilizzare l'autenticazione IAM automatica con il connettore Python AlloyDB. Per attivarla, sostituisci la funzione di connessione con quanto segue:
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)
Per utilizzare il connettore Go AlloyDB per connetterti al tuo cluster AlloyDB, configura il connettore seguendo i passaggi riportati di seguito, se utilizzi pgx
.
Per utilizzare questo snippet nel contesto di un'applicazione web, consulta il file README su GitHub.
Utilizzare un IP pubblico
Se utilizzi un IP pubblico per connetterti al cluster AlloyDB,
sostituire la funzione d.Dial
con quanto segue:
d.Dial(ctx, instURI, alloydbconn.WithPublicIP())
Utilizzare Private Service Connect
Se utilizzi Private Service Connect per connetterti all'istanza AlloyDB, incorpora quanto segue:
d.Dial(ctx, instURI, alloydbconn.WithPSC())
Autenticazione IAM automatica
Per impostazione predefinita, i connettori di lingua AlloyDB utilizzano l'autenticazione integrata.
Puoi utilizzare l'autenticazione IAM automatica con il connettore AlloyDB Go. Per attivarla, sostituisci la funzione alloydbconn.NewDialer
con quanto segue:
d, err := alloydbconn.NewDialer(ctx, alloydbconn.WithIAMAuthN())
Go (database/SQL)
Per utilizzare il connettore AlloyDB Go per connetterti al tuo cluster AlloyDB, configura il connettore seguendo i passaggi riportati di seguito, se utilizzi database/sql
.
Per utilizzare questo snippet nel contesto di un'applicazione web, consulta il file README su GitHub.
Utilizzare un IP pubblico
Se utilizzi un IP pubblico per connetterti al cluster AlloyDB,
sostituire la funzione RegisterDriver
con quanto segue:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPublicIP())
)
Utilizzare Private Service Connect
Se utilizzi Private Service Connect per connetterti all'istanza AlloyDB, incorpora quanto segue:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPSC())
)
Autenticazione IAM automatica
Per impostazione predefinita, i connettori di lingua AlloyDB utilizzano l'autenticazione integrata.
Puoi utilizzare l'autenticazione IAM automatica con il connettore AlloyDB Go. Per attivarla, sostituisci la funzione RegisterDriver
con quanto segue:
cleanup, err := pgxv4.RegisterDriver(
"alloydb",
alloydbconn.WithIAMAuthN()
)