Konektor Aurora DSQL untuk Postgres.js - Amazon Aurora DSQL

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 Node.js yang dibangun di atas Postgres.js yang mengintegrasikan Autentikasi IAM untuk menghubungkan aplikasi ke JavaScript cluster Amazon Aurora DSQL.

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+

  • Akses ke cluster Aurora DSQL

  • 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 standar juga didukung.

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