Los conectores de lenguaje de AlloyDB son bibliotecas que proporcionan un proceso simplificado para establecer conexiones seguras a tu clúster. Para ello, usa lo siguiente:
- Conexiones mTLS automatizadas
- Compatibilidad con la autorización basada en Identity and Access Management (IAM)
- Autenticación automática de IAM
Los conectores de lenguaje de AlloyDB no pueden proporcionar una ruta de red a un clúster de AlloyDB si aún no hay una.
Para obtener más información sobre los conectores de lenguaje de AlloyDB, consulta Descripción general de los conectores de lenguaje de AlloyDB.
En esta página, se analizan los siguientes conectores de lenguaje de AlloyDB:
- El conector de Java de AlloyDB
- El conector de Go de AlloyDB
- El conector de Python de AlloyDB
Antes de comenzar
Habilita la API de AlloyDB.
Crea una instancia de AlloyDB y configura el usuario predeterminado.
Para obtener más información sobre la creación de una instancia, consulta Crea una instancia principal.
Para obtener más información sobre los roles de usuario, consulta Roles predefinidos de IAM de AlloyDB.
Configura las siguientes funciones y permisos necesarios para conectarte a una instancia de AlloyDB:
roles/alloydb.clientroles/serviceusage.serviceUsageConsumerPara obtener más información sobre qué roles y permisos son necesarios, consulta Administra la autenticación de IAM.
Instala los conectores de lenguaje de AlloyDB
Java
El conector de Java de AlloyDB es una biblioteca que proporciona encriptación y autorización basadas en IAM cuando se conecta a una instancia de AlloyDB. Si usas Spring Boot, consulta el iniciador de AlloyDB de Spring Boot.
Instalación
Para Maven, puedes instalar el conector de Java de AlloyDB si agregas lo siguiente a pom.xml de tu proyecto:
<!-- 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>
Para Gradle, puedes instalar el conector de Java de AlloyDB si incluyes lo siguiente en gradle.build de tu proyecto:
// 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)
El conector de Python de AlloyDB es una biblioteca que se puede usar junto con un controlador de base de datos para permitir a los usuarios con permisos suficientes conectarse a una base de datos de AlloyDB sin tener que incluir IPs en la lista de entidades permitidas de forma manual.
Instalación
Puedes instalar la biblioteca del conector de Python de AlloyDB con pip install.
Si usas pg8000, ejecuta el siguiente comando:
pip install "google-cloud-alloydb-connector[pg8000]" sqlalchemyPython (asyncpg)
El conector de Python de AlloyDB es una biblioteca que se puede usar junto con un controlador de base de datos para permitir a los usuarios con permisos suficientes conectarse a una base de datos de AlloyDB sin tener que incluir IPs en la lista de entidades permitidas de forma manual.
Instalación
Puedes instalar la biblioteca del conector de Python de AlloyDB con pip install.
Si usas asyncpg, ejecuta el siguiente comando:
Para asyncpg, usa lo siguiente:
pip install "google-cloud-alloydb-connector[asyncpg]" "sqlalchemy[asyncio]"Para obtener más información sobre el uso del controlador asíncrono, consulta Uso del controlador asíncrono.
Go (pgx)
El conector de Go de AlloyDB es un conector de AlloyDB diseñado para usarse con el lenguaje Go.
Instalación
Puedes instalar el conector de Go de AlloyDB con go get.
Si usas pgx, ejecuta el siguiente comando:
go get github.com/jackc/pgx/v5
go get cloud.google.com/go/alloydbconn
Go (database/sql)
El conector de Go de AlloyDB es un conector de AlloyDB diseñado para usarse con el lenguaje Go.
Instalación
Puedes instalar el conector de Go de AlloyDB con go get.
Si usas database/sql, ejecuta el siguiente comando:
go get cloud.google.com/go/alloydbconn
Configura los conectores de lenguaje de AlloyDB
Java
Para usar el conector de Java de AlloyDB para conectarte a tu clúster de AlloyDB, configúralo con los siguientes pasos.
Para ver este fragmento en el contexto de una aplicación web, consulta el archivo README en GitHub.
Usa una IP pública
Si usas una IP pública para conectarte a tu clúster de AlloyDB, incluye lo siguiente:
config.addDataSourceProperty("alloydbIpType", "PUBLIC");
Usa Private Service Connect
Si usas Private Service Connect para conectarte a tu instancia de AlloyDB, incluye lo siguiente:
config.addDataSourceProperty("alloydbIpType", "PSC");
Autenticación automática de IAM
De forma predeterminada, los conectores de lenguaje de AlloyDB usan la autenticación integrada. Puedes usar la autenticación automática de IAM con el conector de Java de AlloyDB. Para habilitarla, incluye lo siguiente:
config.addDataSourceProperty("alloydbEnableIAMAuth", "true");
Python (pg8000)
Para usar el conector de Python de AlloyDB para conectarte a tu clúster de AlloyDB, configura el conector con los siguientes pasos si usas pg8000.
Para ver este fragmento en el contexto de una aplicación web, consulta el archivo README en GitHub.
Usa una IP pública
Si usas una IP pública para conectarte a tu clúster de AlloyDB, reemplaza tu función de conexión por lo siguiente:
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
Usa Private Service Connect
Si usas Private Service Connect para conectarte a tu instancia de AlloyDB, incluye lo siguiente:
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
Autenticación automática de IAM
De forma predeterminada, los conectores de lenguaje de AlloyDB usan la autenticación integrada. Puedes usar la autenticación automática de IAM con el conector de Python de AlloyDB. Para habilitarla, reemplaza tu función de conexión por lo siguiente:
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)
Para usar el conector de Python de AlloyDB para conectarte a tu clúster de AlloyDB, configura el conector con los siguientes pasos si usas async.
Para ver este fragmento en el contexto de una aplicación web, consulta el archivo README en GitHub.
Usa una IP pública
Si usas una IP pública para conectarte a tu clúster de AlloyDB, reemplaza tu función de conexión por lo siguiente:
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
Usa Private Service Connect
Si usas Private Service Connect para conectarte a tu instancia de AlloyDB, incluye lo siguiente:
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
Autenticación automática de IAM
De forma predeterminada, los conectores de lenguaje de AlloyDB usan la autenticación integrada. Puedes usar la autenticación automática de IAM con el conector de Python de AlloyDB. Para habilitarla, reemplaza tu función de conexión por lo siguiente:
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)
Para usar el conector de Go de AlloyDB para conectarte a tu clúster de AlloyDB, configura el conector con los siguientes pasos si usas pgx.
Para ver este fragmento en el contexto de una aplicación web, consulta el archivo README en GitHub.
Usa una IP pública
Si usas una IP pública para conectarte a tu clúster de AlloyDB, reemplaza tu función d.Dial por lo siguiente:
d.Dial(ctx, instURI, alloydbconn.WithPublicIP())
Usa Private Service Connect
Si usas Private Service Connect para conectarte a tu instancia de AlloyDB, incluye lo siguiente:
d.Dial(ctx, instURI, alloydbconn.WithPSC())
Autenticación automática de IAM
De forma predeterminada, los conectores de lenguaje de AlloyDB usan la autenticación integrada.
Puedes usar la autenticación automática de IAM con el conector de Go de AlloyDB. Para habilitarla, reemplaza la función alloydbconn.NewDialer por lo siguiente:
d, err := alloydbconn.NewDialer(ctx, alloydbconn.WithIAMAuthN())
Inhabilita la telemetría integrada
La opción WithOptOutOfBuiltInTelemetry inhabilita la exportación de métricas internas.
De forma predeterminada, el marcador informa sobre sus operaciones internas al prefijo de métrica del sistema alloydb.googleapis.com. Estas métricas ayudan a AlloyDB a mejorar el rendimiento y a identificar problemas de conectividad del cliente. Esta opción es útil para aplicaciones que operan en entornos en los que se restringe la exportación de métricas salientes. Para inhabilitar esta telemetría, proporciona la siguiente opción cuando inicialices un marcador:
d.Dial(ctx, instURI, alloydbconn.WithOptOutOfBuiltInTelemetry())
Go (database/sql)
Para usar el conector de Go de AlloyDB para conectarte a tu clúster de AlloyDB, configura el conector con los siguientes pasos si usas database/sql.
Para ver este fragmento en el contexto de una aplicación web, consulta el archivo README en GitHub.
Usa una IP pública
Si usas una IP pública para conectarte a tu clúster de AlloyDB, reemplaza tu función RegisterDriver por lo siguiente:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPublicIP())
)
Usa Private Service Connect
Si usas Private Service Connect para conectarte a tu instancia de AlloyDB, incluye lo siguiente:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPSC())
)
Autenticación automática de IAM
De forma predeterminada, los conectores de lenguaje de AlloyDB usan la autenticación integrada.
Puedes usar la autenticación automática de IAM con el conector de Go de AlloyDB. Para habilitarla, reemplaza tu función RegisterDriver por lo siguiente:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithIAMAuthN()
)
Inhabilita la telemetría integrada
La opción WithOptOutOfBuiltInTelemetry inhabilita la exportación de métricas internas.
De forma predeterminada, el marcador informa sobre sus operaciones internas al prefijo de métrica del sistema alloydb.googleapis.com. Estas métricas ayudan a AlloyDB a mejorar el rendimiento y a identificar problemas de conectividad del cliente. Esta opción es útil para aplicaciones que operan en entornos en los que se restringe la exportación de métricas salientes. Para inhabilitar esta telemetría, proporciona la siguiente opción cuando inicialices un marcador:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithOptOutOfBuiltInTelemetry(),
)