Os AlloyDB Language Connectors são bibliotecas que oferecem um processo simplificado para estabelecer ligações seguras ao seu cluster. Use o seguinte:
- Ligações mTLS automatizadas
- Suporte de autorização baseada na gestão de identidade e de acesso (IAM)
- Autenticação IAM automatizada
Os conectores de linguagem do AlloyDB não podem fornecer um caminho de rede para um cluster do AlloyDB se já não existir um caminho de rede.
Para mais informações sobre os conetores de linguagem do AlloyDB, consulte a vista geral dos conetores de linguagem do AlloyDB.
Esta página aborda os seguintes conectores de linguagem do AlloyDB:
- O conetor Java do AlloyDB
- O conetor Go do AlloyDB
- O conector Python do AlloyDB
Antes de começar
Ative a API AlloyDB.
Crie uma instância do AlloyDB e configure o utilizador predefinido.
Para mais informações sobre como criar uma instância, consulte o artigo Crie uma instância principal.
Para mais informações sobre as funções de utilizador, consulte o artigo Funções de IAM do AlloyDB predefinidas.
Configure as seguintes funções e autorizações necessárias para estabelecer ligação a uma instância do AlloyDB:
roles/alloydb.client
roles/serviceusage.serviceUsageConsumer
Para mais informações sobre as funções e as autorizações necessárias, consulte o artigo Gerir a autenticação de IAM.
Instale os conetores de linguagem do AlloyDB
Java
O conetor Java do AlloyDB é uma biblioteca que fornece autorização e encriptação baseadas na IAM quando se liga a uma instância do AlloyDB. Se estiver a usar o Spring Boot, consulte o Spring Boot AlloyDB starter.
Instalação
Para o Maven, pode instalar o conector Java do AlloyDB adicionando o seguinte ao pom.xml
do seu projeto:
<!-- 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 o Gradle, pode instalar o conector Java do AlloyDB incluindo o seguinte no ficheiro gradle.build
do seu projeto:
// 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)
O conetor Python do AlloyDB é uma biblioteca que pode ser usada juntamente com um controlador de base de dados para permitir que os utilizadores com autorizações suficientes se liguem a uma base de dados do AlloyDB sem terem de adicionar manualmente IPs à lista de autorizações.
Instalação
Pode instalar a biblioteca AlloyDB Python Connector com pip install
.
Se estiver a usar o pg8000, execute o seguinte comando:
pip install "google-cloud-alloydb-connector[pg8000]" sqlalchemy
Python (asyncpg)
O conetor Python do AlloyDB é uma biblioteca que pode ser usada juntamente com um controlador de base de dados para permitir que os utilizadores com autorizações suficientes se liguem a uma base de dados do AlloyDB sem terem de adicionar manualmente IPs à lista de autorizações.
Instalação
Pode instalar a biblioteca AlloyDB Python Connector com pip install
.
Se estiver a usar o asyncpg, execute o seguinte comando:
Para o asyncpg, use:
pip install "google-cloud-alloydb-connector[asyncpg]" "sqlalchemy[asyncio]"
Para mais informações sobre a utilização de controladores assíncronos, consulte o artigo Utilização de controladores assíncronos.
Go (pgx)
O conetor AlloyDB Go é um conetor do AlloyDB concebido para utilização com a linguagem Go.
Instalação
Pode instalar o conetor Go do AlloyDB com go get
.
Se estiver a usar o pgx, execute o seguinte comando:
go get github.com/jackc/pgx/v5
go get cloud.google.com/go/alloydbconn
Go (database/sql)
O conetor AlloyDB Go é um conetor do AlloyDB concebido para utilização com a linguagem Go.
Instalação
Pode instalar o conetor Go do AlloyDB com go get
.
Se estiver a usar a base de dados/SQL, execute o seguinte comando:
go get cloud.google.com/go/alloydbconn
Configure os conetores de linguagem do AlloyDB
Java
Para usar o conector Java do AlloyDB para se ligar ao cluster do AlloyDB, configure-o através dos seguintes passos.
Para usar este fragmento no contexto de uma aplicação Web, consulte o README no GitHub.
Usar IP público
Se estiver a usar o IP público para estabelecer ligação ao cluster do AlloyDB, inclua o seguinte:
config.addDataSourceProperty("alloydbIpType", "PUBLIC");
Use o Private Service Connect
Se estiver a usar o Private Service Connect para estabelecer ligação à sua instância do AlloyDB, inclua o seguinte:
config.addDataSourceProperty("alloydbIpType", "PSC");
Autenticação IAM automática
Por predefinição, os conetores de linguagem do AlloyDB usam a autenticação incorporada. Pode usar a autenticação IAM automática com o conetor Java do AlloyDB. Para ativar, inclua o seguinte:
config.addDataSourceProperty("alloydbEnableIAMAuth", "true");
Python (pg8000)
Para usar o conector Python do AlloyDB para se ligar ao cluster do AlloyDB, configure o conector através dos seguintes passos, se estiver a usar o pg8000
.
Para usar este fragmento no contexto de uma aplicação Web, consulte o README no GitHub.
Usar IP público
Se estiver a usar o IP público para estabelecer ligação ao cluster do AlloyDB, substitua a função de ligação pelo seguinte:
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
Use o Private Service Connect
Se estiver a usar o Private Service Connect para estabelecer ligação à sua instância do AlloyDB, inclua o seguinte:
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
Autenticação IAM automática
Por predefinição, os conetores de linguagem do AlloyDB usam a autenticação incorporada. Pode usar a autenticação IAM automática com o conetor Python do AlloyDB. Para ativar, substitua a função de associação pelo seguinte:
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 o conector Python do AlloyDB para se ligar ao cluster do AlloyDB, configure o conector através dos seguintes passos, se estiver a usar o async
.
Para usar este fragmento no contexto de uma aplicação Web, consulte o README no GitHub.
Usar IP público
Se estiver a usar o IP público para estabelecer ligação ao cluster do AlloyDB, substitua a função de ligação pelo seguinte:
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
Use o Private Service Connect
Se estiver a usar o Private Service Connect para estabelecer ligação à sua instância do AlloyDB, inclua o seguinte:
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
Autenticação IAM automática
Por predefinição, os conetores de linguagem do AlloyDB usam a autenticação incorporada. Pode usar a autenticação IAM automática com o conetor Python do AlloyDB. Para ativar, substitua a função de associação pelo seguinte:
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 o conector Go do AlloyDB para se ligar ao cluster do AlloyDB, configure o conector através dos seguintes passos, se estiver a usar o pgx
.
Para usar este fragmento no contexto de uma aplicação Web, consulte o README no GitHub.
Usar IP público
Se estiver a usar o IP público para estabelecer ligação ao cluster do AlloyDB,
substitua a função d.Dial
pelo seguinte:
d.Dial(ctx, instURI, alloydbconn.WithPublicIP())
Use o Private Service Connect
Se estiver a usar o Private Service Connect para estabelecer ligação à sua instância do AlloyDB, inclua o seguinte:
d.Dial(ctx, instURI, alloydbconn.WithPSC())
Autenticação IAM automática
Por predefinição, os conetores de linguagem do AlloyDB usam a autenticação incorporada.
Pode usar a autenticação IAM automática com o conetor Go do AlloyDB. Para ativar, substitua a função alloydbconn.NewDialer
pelo seguinte:
d, err := alloydbconn.NewDialer(ctx, alloydbconn.WithIAMAuthN())
Desative a telemetria incorporada
A opção WithOptOutOfBuiltInTelemetry
desativa a exportação de métricas internas.
Por predefinição, o Marcador comunica as respetivas operações internas ao prefixo da métrica do sistema alloydb.googleapis.com
. Estas métricas ajudam o AlloyDB a melhorar o desempenho e a identificar problemas de conetividade do cliente. Esta opção é útil para aplicações que funcionam em ambientes onde a exportação de métricas de saída é restrita. Para desativar esta telemetria,
forneça a seguinte opção ao inicializar um Dialer:
d.Dial(ctx, instURI, alloydbconn.WithOptOutOfBuiltInTelemetry())
Go (database/sql)
Para usar o AlloyDB Go Connector para se ligar ao seu cluster do AlloyDB, configure o conector através dos seguintes passos, se estiver a usar o database/sql
.
Para usar este fragmento no contexto de uma aplicação Web, consulte o README no GitHub.
Usar IP público
Se estiver a usar o IP público para estabelecer ligação ao cluster do AlloyDB,
substitua a função RegisterDriver
pelo seguinte:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPublicIP())
)
Use o Private Service Connect
Se estiver a usar o Private Service Connect para estabelecer ligação à sua instância do AlloyDB, inclua o seguinte:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPSC())
)
Autenticação IAM automática
Por predefinição, os conetores de linguagem do AlloyDB usam a autenticação incorporada.
Pode usar a autenticação IAM automática com o conetor Go do AlloyDB. Para ativar, substitua a função RegisterDriver
pela seguinte:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithIAMAuthN()
)
Desative a telemetria incorporada
A opção WithOptOutOfBuiltInTelemetry
desativa a exportação de métricas internas.
Por predefinição, o Marcador comunica as respetivas operações internas ao prefixo da métrica do sistema alloydb.googleapis.com
. Estas métricas ajudam o AlloyDB a melhorar o desempenho e a identificar problemas de conetividade do cliente. Esta opção é útil para aplicações que funcionam em ambientes onde a exportação de métricas de saída é restrita. Para desativar esta telemetria,
forneça a seguinte opção ao inicializar um Dialer:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithOptOutOfBuiltInTelemetry(),
)