Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Connettore Aurora DSQL per Postgres.js
Aurora DSQL Connector for Postgres.js è un Node.js connettore
L'Aurora DSQL Connector per Postgres.js è progettato come un plug-in di autenticazione che estende la funzionalità del Postgres.js client per consentire alle applicazioni di autenticarsi con Amazon Aurora DSQL utilizzando credenziali IAM. Il connettore non si connette direttamente al database, ma fornisce un'autenticazione IAM senza interruzioni in aggiunta al driver sottostante. Postgres.js
Informazioni sul connettore
Amazon Aurora DSQL è un servizio di database SQL distribuito che offre disponibilità e scalabilità elevate per le applicazioni. PostgreSQL-compatible Aurora DSQL richiede IAM-based l'autenticazione con token a tempo limitato che i Node.js driver esistenti non supportano nativamente.
L'idea alla base di Aurora DSQL Connector Postgres.js è quella di aggiungere un livello di autenticazione al Postgres.js client che gestisce la generazione di token IAM, permettendo agli utenti di connettersi ad Aurora DSQL senza modificare i flussi di lavoro esistenti. Postgres.js
Il connettore Aurora DSQL per Postgres.js funziona con la maggior parte delle versioni di. Postgres.js Gli utenti forniscono la propria versione Postgres.js installandola direttamente.
Che cos’è l’autenticazione di Aurora DSQL?
In Aurora DSQL, l’autenticazione prevede:
-
Autenticazione IAM: tutte le connessioni utilizzano IAM-based l'autenticazione con token a tempo limitato
-
Generazione di token: i token di autenticazione vengono generati utilizzando credenziali AWS e hanno una durata configurabile
Aurora DSQL Connector for Postgres.js è progettato per comprendere questi requisiti e generare automaticamente token di autenticazione IAM quando si stabiliscono connessioni.
Funzionalità
-
Autenticazione IAM automatica: gestisce la generazione e l'aggiornamento dei token DSQL
-
Costruito su Postgres.js: sfrutta il veloce client PostgreSQL per Node.js
-
Integrazione perfetta: funziona con i modelli di connessione esistenti Postgres.js
-
Regione Auto-Discovery: estrae la regione AWS dal nome host del cluster DSQL
-
Full TypeScript Support - Fornisce una sicurezza completa
-
AWS Credentials Support: supporta vari provider di credenziali AWS (predefiniti, basati su profili, personalizzati)
-
Compatibilità con il pool di connessioni: funziona perfettamente con il pool di connessioni integrato Postgres.js
Guida rapida di avvio
Requisiti
-
Node.js 20+
-
Configurazione delle autorizzazioni IAM appropriate per consentire all’applicazione di connettersi ad Aurora DSQL.
-
Credenziali AWS configurate (tramite CLI AWS, variabili di ambiente o ruoli IAM)
Installazione
npm install @aws/aurora-dsql-postgresjs-connector # Postgres.js is a peer-dependency, so users must install it themselves npm install postgres
Utilizzo di base
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();
Utilizzo dell'ID del cluster anziché dell'host
const sql = auroraDSQLPostgres({ host: 'your-cluster-id', region: 'us-east-1', username: 'admin', });
Stringa di connessione
const sql = AuroraDSQLPostgres( 'postgres://admin@your-cluster.dsql.us-east-1.on.aws' ); const result = await sql`SELECT current_timestamp`;
Configurazione avanzata
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 });
Opzioni di configurazione
| Opzione | Tipo | Campo obbligatorio | Descrizione |
|---|---|---|---|
host
|
string
|
Sì | Nome host o ID del cluster DSQL |
database
|
string?
|
No | Nome del database |
username
|
string?
|
No | Nome utente del database (utilizza admin se non fornito) |
region
|
string?
|
No | Regione AWS (rilevata automaticamente dal nome host se non fornita) |
customCredentialsProvider
|
AwsCredentialIdentityProvider?
|
No | Provider di credenziali AWS personalizzate |
tokenDurationSecs
|
number?
|
No | Tempo di scadenza del token in secondi |
Sono supportate anche tutte le Postgres.jsopzioni
Autenticazione
Il connettore gestisce automaticamente l'autenticazione DSQL generando token utilizzando il generatore di token client DSQL. Se la regione AWS non viene fornita, verrà analizzata automaticamente a partire dal nome host fornito.
Per ulteriori informazioni sull'autenticazione in Aurora DSQL, consulta la guida per l'utente.
Amministratore e utenti regolari
-
Gli utenti denominati «admin» utilizzano automaticamente i token di autenticazione dell'amministratore
-
Tutti gli altri utenti utilizzano token di autenticazione regolari
-
I token vengono generati dinamicamente per ogni connessione
Esempio di utilizzo
JavaScript esempi che utilizzano Aurora DSQL Connector per Postgres.js sono disponibili su. GitHub Per istruzioni su come eseguire gli esempi, consulta la directory examples
| Description | Esempio |
|---|---|
| Connessione condivisa con interrogazioni simultanee, tra cui creazione di tabelle, inserimenti e letture tra più worker | Esempio di pool di connessioni (preferito) |
| Operazioni CRUD (creazione di tabella, inserimento, selezione, eliminazione) senza pool di connessioni | Esempio senza pool di connessioni |