I connettori dei linguaggi AlloyDB sono librerie che forniscono una procedura semplificata per stabilire connessioni sicure al cluster utilizzando quanto segue:
- Connessioni mTLS automatizzate
- Supporto dell'autorizzazione basata su Identity and Access Management (IAM)
- Autenticazione IAM automatizzata
I connettori dei linguaggi AlloyDB non possono fornire un percorso di rete a un cluster AlloyDB se non è già presente.
Per saperne di più sui connettori dei linguaggi AlloyDB, consulta la panoramica dei connettori dei linguaggi AlloyDB.
Questa pagina illustra i seguenti connettori dei linguaggi AlloyDB:
- Il connettore Java AlloyDB
- Il connettore Go AlloyDB
- Il connettore Python AlloyDB
Prima di iniziare
Abilita l'API AlloyDB.
Crea un'istanza AlloyDB e configura l'utente predefinito.
Per saperne di più sulla creazione di un'istanza, consulta Crea un'istanza principale.
Per saperne di più sui ruoli utente, consulta Ruoli IAM AlloyDB predefiniti.
Configura i seguenti ruoli e autorizzazioni necessari per connetterti a un istanza AlloyDB:
roles/alloydb.clientroles/serviceusage.serviceUsageConsumerPer saperne di più sui ruoli e sulle autorizzazioni necessari, consulta Gestire l'autenticazione IAM.
Installa i connettori dei linguaggi AlloyDB
Java
Il connettore Java AlloyDB è una libreria che fornisce l'autorizzazione e la crittografia basate su IAM quando ti connetti a un'istanza AlloyDB. Se utilizzi Spring Boot, consulta lo starter Spring Boot AlloyDB.
Installazione
Per Maven, puoi installare il connettore Java AlloyDB aggiungendo quanto segue al file 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 nel file gradle.build del tuo 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 aggiungere manualmente gli IP alla lista consentita.
Installazione
Puoi installare la libreria del connettore Python AlloyDB con pip install.
Se utilizzi pg8000, esegui il seguente comando:
pip install "google-cloud-alloydb-connector[pg8000]" sqlalchemyPython (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 aggiungere manualmente gli IP alla lista consentita.
Installazione
Puoi installare la libreria del connettore Python AlloyDB con pip install.
Se utilizzi asyncpg, esegui il seguente comando:
Per asyncpg, utilizza:
pip install "google-cloud-alloydb-connector[asyncpg]" "sqlalchemy[asyncio]"Per saperne di più sull'utilizzo del driver asincrono, consulta Utilizzo del driver asincrono.
Go (pgx)
Il connettore Go AlloyDB è un connettore AlloyDB progettato per l'utilizzo con il linguaggio Go.
Installazione
Puoi installare il connettore Go AlloyDB 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 Go AlloyDB è un connettore AlloyDB progettato per l'utilizzo con il linguaggio Go.
Installazione
Puoi installare il connettore Go AlloyDB con go get.
Se utilizzi database/sql, esegui il seguente comando:
go get cloud.google.com/go/alloydbconn
Configura i connettori dei linguaggi AlloyDB
Java
Per utilizzare il connettore Java AlloyDB per connetterti al cluster AlloyDB, configurarlo seguendo questi passaggi.
Per utilizzare questo snippet nel contesto di un'applicazione web, consulta il file README su GitHub.
Utilizza l'IP pubblico
Se utilizzi l'IP pubblico per connetterti al cluster AlloyDB, includi quanto segue:
config.addDataSourceProperty("alloydbIpType", "PUBLIC");
Utilizza Private Service Connect
Se utilizzi Private Service Connect per connetterti all'istanza AlloyDB, includi quanto segue:
config.addDataSourceProperty("alloydbIpType", "PSC");
Autenticazione IAM automatica
Per impostazione predefinita, i connettori dei linguaggi AlloyDB utilizzano l'autenticazione integrata. Puoi utilizzare l'autenticazione IAM automatica con il connettore Java AlloyDB. Per abilitarla, includi quanto segue:
config.addDataSourceProperty("alloydbEnableIAMAuth", "true");
Python (pg8000)
Per utilizzare il connettore Python AlloyDB per connetterti al cluster AlloyDB, configura il connettore seguendo questi passaggi, se utilizzi pg8000.
Per utilizzare questo snippet nel contesto di un'applicazione web, consulta il file README su GitHub.
Utilizza l'IP pubblico
Se utilizzi l'IP pubblico per connetterti al cluster AlloyDB, 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 ip_type to specify public IP
ip_type=IPTypes.PUBLIC,
)
return conn
Utilizza Private Service Connect
Se utilizzi Private Service Connect per connetterti all'istanza AlloyDB, includi 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 dei linguaggi AlloyDB utilizzano l'autenticazione integrata. Puoi utilizzare l'autenticazione IAM automatica con il connettore Python AlloyDB. Per abilitarla, 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 cluster AlloyDB, configura il connettore seguendo questi passaggi, se utilizzi async.
Per utilizzare questo snippet nel contesto di un'applicazione web, consulta il file README su GitHub.
Utilizza l'IP pubblico
Se utilizzi l'IP pubblico per connetterti al cluster AlloyDB, 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 ip_type to specify public IP
ip_type=IPTypes.PUBLIC,
)
return conn
Utilizza Private Service Connect
Se utilizzi Private Service Connect per connetterti all'istanza AlloyDB, includi 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 dei linguaggi AlloyDB utilizzano l'autenticazione integrata. Puoi utilizzare l'autenticazione IAM automatica con il connettore Python AlloyDB. Per abilitarla, 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 cluster AlloyDB, configura il connettore seguendo questi passaggi, se utilizzi pgx.
Per utilizzare questo snippet nel contesto di un'applicazione web, consulta il file README su GitHub.
Utilizza l'IP pubblico
Se utilizzi l'IP pubblico per connetterti al cluster AlloyDB, sostituisci la funzione d.Dial con quanto segue:
d.Dial(ctx, instURI, alloydbconn.WithPublicIP())
Utilizza Private Service Connect
Se utilizzi Private Service Connect per connetterti all'istanza AlloyDB, includi quanto segue:
d.Dial(ctx, instURI, alloydbconn.WithPSC())
Autenticazione IAM automatica
Per impostazione predefinita, i connettori dei linguaggi AlloyDB utilizzano l'autenticazione integrata.
Puoi utilizzare l'autenticazione IAM automatica con il connettore Go AlloyDB. Per abilitarla, sostituisci la funzione alloydbconn.NewDialer con quanto segue:
d, err := alloydbconn.NewDialer(ctx, alloydbconn.WithIAMAuthN())
Disattiva la telemetria integrata
L'opzione WithOptOutOfBuiltInTelemetry disattiva l'esportazione delle metriche interne.
Per impostazione predefinita, il Dialer segnala le sue operazioni interne al prefisso della metrica di sistema alloydb.googleapis.com. Queste metriche aiutano AlloyDB a migliorare il rendimento e a identificare i problemi di connettività dei client. Questa opzione è utile per le applicazioni che operano in ambienti in cui l'esportazione delle metriche in uscita è limitata. Per disattivare questa telemetria, fornisci la seguente opzione quando inizializzi un Dialer:
d.Dial(ctx, instURI, alloydbconn.WithOptOutOfBuiltInTelemetry())
Go (database/sql)
Per utilizzare il connettore Go AlloyDB per connetterti al cluster AlloyDB, configura il connettore seguendo questi passaggi, se utilizzi database/sql.
Per utilizzare questo snippet nel contesto di un'applicazione web, consulta il file README su GitHub.
Utilizza l'IP pubblico
Se utilizzi l'IP pubblico per connetterti al cluster AlloyDB, sostituisci la funzione RegisterDriver con quanto segue:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPublicIP())
)
Utilizza Private Service Connect
Se utilizzi Private Service Connect per connetterti all'istanza AlloyDB, includi quanto segue:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPSC())
)
Autenticazione IAM automatica
Per impostazione predefinita, i connettori dei linguaggi AlloyDB utilizzano l'autenticazione integrata.
Puoi utilizzare l'autenticazione IAM automatica con il connettore Go AlloyDB. Per abilitarla, sostituisci la funzione RegisterDriver con quanto segue:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithIAMAuthN()
)
Disattiva la telemetria integrata
L'opzione WithOptOutOfBuiltInTelemetry disattiva l'esportazione delle metriche interne.
Per impostazione predefinita, il Dialer segnala le sue operazioni interne al prefisso della metrica di sistema alloydb.googleapis.com. Queste metriche aiutano AlloyDB a migliorare il rendimento e a identificare i problemi di connettività dei client. Questa opzione è utile per le applicazioni che operano in ambienti in cui l'esportazione delle metriche in uscita è limitata. Per disattivare questa telemetria, fornisci la seguente opzione quando inizializzi un Dialer:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithOptOutOfBuiltInTelemetry(),
)