Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konektor Aurora DSQL untuk Postgres.js
Konektor Aurora DSQL untuk Postgres.js adalah konektor
Konektor Aurora DSQL untuk Postgres.js dirancang sebagai plugin otentikasi yang memperluas fungsionalitas klien Postgres.js untuk memungkinkan aplikasi mengautentikasi dengan Amazon Aurora DSQL menggunakan kredensil IAM. Konektor tidak terhubung langsung ke database, tetapi menyediakan otentikasi IAM yang mulus di atas driver Postgres.js yang mendasarinya.
Tentang Konektor
Amazon Aurora DSQL adalah layanan database SQL terdistribusi yang menyediakan ketersediaan dan skalabilitas tinggi untuk aplikasi yang kompatibel dengan PostgreSQL. Aurora DSQL memerlukan otentikasi berbasis IAM dengan token terbatas waktu yang tidak didukung oleh driver Node.js yang ada secara native.
Ide di balik Konektor Aurora DSQL untuk Postgres.js adalah menambahkan lapisan otentikasi di atas klien Postgres.js yang menangani pembuatan token IAM, memungkinkan pengguna untuk terhubung ke Aurora DSQL tanpa mengubah alur kerja Postgres.js yang ada.
Konektor Aurora DSQL untuk Postgres.js bekerja dengan sebagian besar versi Postgres.js. Pengguna menyediakan versi mereka sendiri dengan menginstal Postgres.js secara langsung.
Apa itu Autentikasi Aurora DSQL?
Dalam Aurora DSQL, otentikasi melibatkan:
-
Otentikasi IAM: Semua koneksi menggunakan otentikasi berbasis IAM dengan token terbatas waktu
-
Pembuatan Token: Token otentikasi dibuat menggunakan kredensi AWS dan memiliki masa pakai yang dapat dikonfigurasi
Konektor Aurora DSQL untuk Postgres.js dirancang untuk memahami persyaratan ini dan secara otomatis menghasilkan token otentikasi IAM saat membuat koneksi.
Fitur
-
Otentikasi IAM Otomatis - Menangani pembuatan dan penyegaran token DSQL
-
Dibangun di Postgres.js - Memanfaatkan klien PostgreSQL cepat untuk Node.js
-
Integrasi Seamless - Bekerja dengan pola koneksi Postgres.js yang ada
-
Region Auto-Discovery - Mengekstrak wilayah AWS dari nama host cluster DSQL
-
Full TypeScript Support - Menyediakan keamanan tipe penuh
-
AWS Credentials Support - Mendukung berbagai penyedia kredensi AWS (default, berbasis profil, kustom)
-
Kompatibilitas Pengumpulan Koneksi - Bekerja dengan mulus dengan penyatuan koneksi bawaan Postgres.js
Panduan memulai cepat
Persyaratan
-
Node.js 20+
-
Siapkan izin IAM yang sesuai untuk memungkinkan aplikasi Anda terhubung ke Aurora DSQL.
-
Kredensi AWS dikonfigurasi (melalui AWS CLI, variabel lingkungan, atau peran IAM)
Penginstalan
npm install @aws/aurora-dsql-postgresjs-connector # Postgres.js is a peer-dependency, so users must install it themselves npm install postgres
Penggunaan Dasar
import { auroraDSQLPostgres } from '@aws/aurora-dsql-postgresjs-connector'; const sql = auroraDSQLPostgres({ host: 'your-cluster.dsql.us-east-1.on.aws', username: 'admin', }); // Execute queries const result = await sql`SELECT current_timestamp`; console.log(result); // Clean up await sql.end();
Menggunakan ID cluster alih-alih host
const sql = auroraDSQLPostgres({ host: 'your-cluster-id', region: 'us-east-1', username: 'admin', });
String Koneksi
const sql = AuroraDSQLPostgres( 'postgres://admin@your-cluster.dsql.us-east-1.on.aws' ); const result = await sql`SELECT current_timestamp`;
Konfigurasi Lanjutan
import { fromNodeProviderChain } from '@aws-sdk/credential-providers'; const sql = AuroraDSQLPostgres({ host: 'your-cluster.dsql.us-east-1.on.aws', database: 'postgres', username: 'admin', customCredentialsProvider: fromNodeProviderChain(), // Optionally provide custom credentials provider tokenDurationSecs: 3600, // Token expiration (seconds) // Standard Postgres.js options max: 20, // Connection pool size ssl: { rejectUnauthorized: false } // SSL configuration });
Opsi konfigurasi
| Opsi | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
host
|
string
|
Ya | Nama host cluster DSQL atau ID cluster |
database
|
string?
|
Tidak | Nama basis data |
username
|
string?
|
Tidak | Nama pengguna database (menggunakan admin jika tidak disediakan) |
region
|
string?
|
Tidak | Wilayah AWS (terdeteksi secara otomatis dari nama host jika tidak disediakan) |
customCredentialsProvider
|
AwsCredentialIdentityProvider?
|
Tidak | Penyedia kredensi AWS kustom |
tokenDurationSecs
|
number?
|
Tidak | Waktu kedaluwarsa token dalam hitungan detik |
Semua opsi Postgres.js
Autentikasi
Konektor secara otomatis menangani otentikasi DSQL dengan menghasilkan token menggunakan generator token klien DSQL. Jika wilayah AWS tidak disediakan, wilayah AWS akan diurai secara otomatis dari nama host yang disediakan.
Untuk informasi selengkapnya tentang otentikasi di Aurora DSQL, lihat panduan pengguna.
Admin vs Pengguna Reguler
-
Pengguna bernama “admin” secara otomatis menggunakan token otentikasi admin
-
Semua pengguna lain menggunakan token otentikasi reguler
-
Token dihasilkan secara dinamis untuk setiap koneksi
Penggunaan sampel
JavaScript contoh menggunakan Aurora DSQL Connector untuk Postgres.js tersedia di. GitHub Untuk petunjuk tentang cara menjalankan contoh, lihat direktori examples
| Deskripsi | Contoh |
|---|---|
| Penggabungan koneksi dengan kueri bersamaan, termasuk pembuatan tabel, penyisipan, dan pembacaan di beberapa pekerja | Contoh kolam koneksi (lebih disukai) |
| Operasi CRUD (buat tabel, sisipkan, pilih, hapus) tanpa penyatuan koneksi | Contoh tanpa kolam koneksi |