AlloyDB Language Connectors adalah library yang menyediakan proses yang disederhanakan untuk membuat koneksi yang aman ke cluster Anda menggunakan:
- Koneksi mTLS Otomatis
- Dukungan otorisasi berbasis Identity and Access Management (IAM)
- Autentikasi IAM otomatis
Konektor Bahasa AlloyDB tidak dapat menyediakan jalur jaringan ke cluster AlloyDB, jika jalur jaringan belum ada.
Untuk mengetahui informasi selengkapnya tentang AlloyDB Language Connectors, lihat Ringkasan AlloyDB Language Connectors.
Halaman ini membahas AlloyDB Language Connectors berikut:
- Konektor Java AlloyDB
- Konektor Go AlloyDB
- Konektor Python AlloyDB
Sebelum memulai
Aktifkan AlloyDB API.
Buat instance AlloyDB dan konfigurasi pengguna default.
Untuk mengetahui informasi selengkapnya tentang cara membuat instance, lihat Membuat instance utama.
Untuk mengetahui informasi selengkapnya tentang peran pengguna, lihat Peran IAM AlloyDB bawaan.
Konfigurasi peran dan izin berikut yang diperlukan untuk terhubung ke instance AlloyDB:
roles/alloydb.client
roles/serviceusage.serviceUsageConsumer
Untuk mengetahui informasi selengkapnya tentang peran dan izin yang diperlukan, lihat Mengelola autentikasi IAM.
Menginstal Konektor Bahasa AlloyDB
Java
Konektor Java AlloyDB adalah library yang menyediakan otorisasi dan enkripsi berbasis IAM saat terhubung ke instance AlloyDB. Jika Anda menggunakan Spring Boot, lihat Spring Boot AlloyDB starter.
Penginstalan
Untuk Maven, Anda dapat menginstal Konektor Java AlloyDB dengan menambahkan kode berikut ke pom.xml
project Anda:
<!-- 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>
Untuk Gradle, Anda dapat menginstal AlloyDB Java Connector dengan menyertakan kode berikut
di gradle.build
project Anda:
// 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)
Konektor Python AlloyDB adalah library yang dapat digunakan bersama driver database agar pengguna dengan izin yang memadai dapat terhubung ke database AlloyDB tanpa harus memasukkan IP ke daftar yang diizinkan secara manual.
Penginstalan
Anda dapat menginstal library AlloyDB Python Connector dengan pip install
.
Jika Anda menggunakan pg8000, jalankan perintah berikut:
pip install "google-cloud-alloydb-connector[pg8000]" sqlalchemy
Python (asyncpg)
Konektor Python AlloyDB adalah library yang dapat digunakan bersama driver database agar pengguna dengan izin yang memadai dapat terhubung ke database AlloyDB tanpa harus memasukkan IP ke daftar yang diizinkan secara manual.
Penginstalan
Anda dapat menginstal library AlloyDB Python Connector dengan pip install
.
Jika Anda menggunakan asyncpg, jalankan perintah berikut:
Untuk asyncpg, gunakan:
pip install "google-cloud-alloydb-connector[asyncpg]" "sqlalchemy[asyncio]"
Untuk mengetahui informasi selengkapnya tentang penggunaan driver asinkron, lihat Penggunaan Driver Asinkron.
Go (pgx)
Konektor Go AlloyDB adalah konektor AlloyDB yang dirancang untuk digunakan dengan bahasa Go.
Penginstalan
Anda dapat menginstal AlloyDB Go Connector dengan go get
.
Jika Anda menggunakan pgx, jalankan perintah berikut:
go get github.com/jackc/pgx/v5
go get cloud.google.com/go/alloydbconn
Go (database/sql)
Konektor Go AlloyDB adalah konektor AlloyDB yang dirancang untuk digunakan dengan bahasa Go.
Penginstalan
Anda dapat menginstal AlloyDB Go Connector dengan go get
.
Jika Anda menggunakan database/sql, jalankan perintah berikut:
go get cloud.google.com/go/alloydbconn
Mengonfigurasi Konektor Bahasa AlloyDB
Java
Untuk menggunakan Konektor Java AlloyDB guna terhubung ke cluster AlloyDB, konfigurasikan menggunakan langkah-langkah berikut.
Untuk menggunakan cuplikan ini dalam konteks aplikasi web, lihat README di GitHub.
Menggunakan IP publik
Jika Anda menggunakan IP publik untuk terhubung ke cluster AlloyDB, sertakan hal berikut:
config.addDataSourceProperty("alloydbIpType", "PUBLIC");
Menggunakan Private Service Connect
Jika Anda menggunakan Private Service Connect untuk terhubung ke instance AlloyDB, sertakan hal berikut:
config.addDataSourceProperty("alloydbIpType", "PSC");
Autentikasi IAM otomatis
Secara default, AlloyDB Language Connectors menggunakan autentikasi bawaan. Anda dapat menggunakan autentikasi IAM otomatis dengan Konektor Java AlloyDB. Untuk mengaktifkan, sertakan hal berikut:
config.addDataSourceProperty("alloydbEnableIAMAuth", "true");
Python (pg8000)
Untuk menggunakan AlloyDB Python Connector guna terhubung ke cluster AlloyDB, konfigurasi konektor menggunakan langkah-langkah berikut, jika Anda menggunakan pg8000
.
Untuk menggunakan cuplikan ini dalam konteks aplikasi web, lihat README di GitHub.
Menggunakan IP publik
Jika Anda menggunakan IP publik untuk terhubung ke cluster AlloyDB, ganti fungsi koneksi Anda dengan fungsi berikut:
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
Menggunakan Private Service Connect
Jika Anda menggunakan Private Service Connect untuk terhubung ke instance AlloyDB, sertakan hal berikut:
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
Autentikasi IAM otomatis
Secara default, AlloyDB Language Connectors menggunakan autentikasi bawaan. Anda dapat menggunakan autentikasi IAM otomatis dengan Konektor Python AlloyDB. Untuk mengaktifkan, ganti fungsi koneksi Anda dengan yang berikut:
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)
Untuk menggunakan AlloyDB Python Connector guna terhubung ke cluster AlloyDB, konfigurasi konektor menggunakan langkah-langkah berikut, jika Anda menggunakan async
.
Untuk menggunakan cuplikan ini dalam konteks aplikasi web, lihat README di GitHub.
Menggunakan IP publik
Jika Anda menggunakan IP publik untuk terhubung ke cluster AlloyDB, ganti fungsi koneksi Anda dengan fungsi berikut:
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
Menggunakan Private Service Connect
Jika Anda menggunakan Private Service Connect untuk terhubung ke instance AlloyDB, sertakan hal berikut:
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
Autentikasi IAM otomatis
Secara default, AlloyDB Language Connectors menggunakan autentikasi bawaan. Anda dapat menggunakan autentikasi IAM otomatis dengan Konektor Python AlloyDB. Untuk mengaktifkan, ganti fungsi koneksi Anda dengan yang berikut:
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)
Untuk menggunakan Konektor Go AlloyDB guna terhubung ke cluster AlloyDB, konfigurasi konektor menggunakan langkah-langkah berikut, jika Anda menggunakan pgx
.
Untuk menggunakan cuplikan ini dalam konteks aplikasi web, lihat README di GitHub.
Menggunakan IP publik
Jika Anda menggunakan IP publik untuk terhubung ke cluster AlloyDB, ganti fungsi d.Dial
dengan fungsi berikut:
d.Dial(ctx, instURI, alloydbconn.WithPublicIP())
Menggunakan Private Service Connect
Jika Anda menggunakan Private Service Connect untuk terhubung ke instance AlloyDB, sertakan hal berikut:
d.Dial(ctx, instURI, alloydbconn.WithPSC())
Autentikasi IAM otomatis
Secara default, AlloyDB Language Connectors menggunakan autentikasi bawaan.
Anda dapat menggunakan autentikasi IAM otomatis dengan Konektor Go AlloyDB. Untuk mengaktifkan, ganti
fungsi alloydbconn.NewDialer
dengan yang berikut:
d, err := alloydbconn.NewDialer(ctx, alloydbconn.WithIAMAuthN())
Menonaktifkan telemetri bawaan
Opsi WithOptOutOfBuiltInTelemetry
menonaktifkan ekspor metrik internal.
Secara default, Dialer melaporkan operasi internalnya ke
awalan metrik sistem alloydb.googleapis.com
. Metrik ini membantu
AlloyDB meningkatkan performa dan mengidentifikasi masalah konektivitas klien. Opsi ini berguna untuk aplikasi yang beroperasi di lingkungan
tempat ekspor metrik keluar dibatasi. Untuk menonaktifkan telemetri ini,
berikan opsi berikut saat menginisialisasi Dialer:
d.Dial(ctx, instURI, alloydbconn.WithOptOutOfBuiltInTelemetry())
Go (database/sql)
Untuk menggunakan Konektor Go AlloyDB guna terhubung ke cluster AlloyDB, konfigurasi konektor menggunakan langkah-langkah berikut, jika Anda menggunakan database/sql
.
Untuk menggunakan cuplikan ini dalam konteks aplikasi web, lihat README di GitHub.
Menggunakan IP publik
Jika Anda menggunakan IP publik untuk terhubung ke cluster AlloyDB, ganti fungsi RegisterDriver
dengan fungsi berikut:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPublicIP())
)
Menggunakan Private Service Connect
Jika Anda menggunakan Private Service Connect untuk terhubung ke instance AlloyDB, sertakan hal berikut:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPSC())
)
Autentikasi IAM otomatis
Secara default, AlloyDB Language Connectors menggunakan autentikasi bawaan.
Anda dapat menggunakan autentikasi IAM otomatis dengan Konektor Go AlloyDB. Untuk mengaktifkan, ganti
fungsi RegisterDriver
Anda dengan yang berikut:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithIAMAuthN()
)
Menonaktifkan telemetri bawaan
Opsi WithOptOutOfBuiltInTelemetry
menonaktifkan ekspor metrik internal.
Secara default, Dialer melaporkan operasi internalnya ke
awalan metrik sistem alloydb.googleapis.com
. Metrik ini membantu
AlloyDB meningkatkan performa dan mengidentifikasi masalah konektivitas klien. Opsi ini berguna untuk aplikasi yang beroperasi di lingkungan
tempat ekspor metrik keluar dibatasi. Untuk menonaktifkan telemetri ini,
berikan opsi berikut saat menginisialisasi Dialer:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithOptOutOfBuiltInTelemetry(),
)