Konektor Aurora DSQL untuk node-postgres - 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 node-postgres

Konektor Aurora DSQL untuk node-postgres adalah konektor Node.js yang dibangun di atas node-postgres yang mengintegrasikan Autentikasi IAM untuk menghubungkan aplikasi ke cluster DSQL Amazon Aurora. JavaScript/TypeScript

Konektor Aurora DSQL dirancang sebagai plugin otentikasi yang memperluas fungsionalitas Klien dan Pool node-postgres untuk memungkinkan aplikasi mengautentikasi dengan Amazon Aurora DSQL menggunakan kredensil IAM.

Tentang Konektor

Amazon Aurora DSQL adalah database terdistribusi cloud-native dengan kompatibilitas PostgreSQL. Meskipun memerlukan otentikasi IAM dan token terikat waktu, driver database Node.js tradisional tidak memiliki dukungan bawaan ini.

Konektor Aurora DSQL untuk node-postgres menjembatani kesenjangan ini dengan menerapkan middleware otentikasi yang bekerja mulus dengan node-postgres. Pendekatan ini memungkinkan pengembang untuk mempertahankan kode node-postgres mereka yang ada sambil mendapatkan akses berbasis IAM yang aman ke cluster Aurora DSQL melalui manajemen token otomatis.

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 node-postgres 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 atas node-postgres - Memanfaatkan klien PostgreSQL populer untuk Node.js

  • Integrasi Seamless - Bekerja dengan pola koneksi node-postgres 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

Contoh Aplikasi

Ada contoh aplikasi yang disertakan dalam contoh yang menunjukkan cara menggunakan Aurora DSQL Connector untuk node-postgres. Untuk menjalankan contoh yang disertakan, silakan lihat contoh README.

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-node-postgres-connector

Dependensi Sebaya

npm install @aws-sdk/credential-providers @aws-sdk/dsql-signer pg tsx npm install --save-dev @types/pg

Penggunaan

Koneksi Klien

import { AuroraDSQLClient } from "@aws/aurora-dsql-node-postgres-connector"; const client = new AuroraDSQLClient({ host: "<CLUSTER_ENDPOINT>", user: "admin", }); await client.connect(); const result = await client.query("SELECT NOW()"); await client.end();

Koneksi Kolam

import { AuroraDSQLPool } from "@aws/aurora-dsql-node-postgres-connector"; const pool = new AuroraDSQLPool({ host: "<CLUSTER_ENDPOINT>", user: "admin", max: 3, idleTimeoutMillis: 60000, }); const result = await pool.query("SELECT NOW()");

Penggunaan Lanjutan

import { fromNodeProviderChain } from "@aws-sdk/credential-providers"; import { AuroraDSQLClient } from "@aws/aurora-dsql-node-postgres-connector"; const client = new AuroraDSQLClient({ host: "example.dsql.us-east-1.on.aws", user: "admin", customCredentialsProvider: fromNodeProviderChain(), // Optionally provide custom credentials provider }); await client.connect(); const result = await client.query("SELECT NOW()"); await client.end();

Opsi konfigurasi

Opsi Tipe Diperlukan Deskripsi
host string Ya Nama host kluster DSQL
username string Ya Nama pengguna DSQL
database string Tidak Nama basis data
region string Tidak Wilayah AWS (terdeteksi secara otomatis dari nama host jika tidak disediakan)
port number Tidak Default ke 5432
customCredentialsProvider AwsCredentialIdentity / AwsCredentialIdentityProvider Tidak Penyedia kredensi AWS kustom
profile string Tidak Nama profil IAM. Default ke “default”
tokenDurationSecs number Tidak Waktu kedaluwarsa token dalam hitungan detik

Semua parameter lain dari Klien/Pool 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