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 node-postgres
Il connettore Aurora DSQL per node-postgres è un connettore Node.js basato su node-postgres
L'Aurora DSQL Connector è progettato come un plug-in di autenticazione che estende la funzionalità del client e del pool di node-postgres per consentire alle applicazioni di autenticarsi con Amazon Aurora DSQL utilizzando credenziali IAM.
Informazioni sul connettore
Amazon Aurora DSQL è un database distribuito nativo del cloud con compatibilità PostgreSQL. Sebbene richieda l'autenticazione IAM e token temporizzati, i driver di database Node.js tradizionali non dispongono di questo supporto integrato.
Il connettore Aurora DSQL per node-postgres colma questa lacuna implementando un middleware di autenticazione che funziona perfettamente con node-postgres. Questo approccio consente agli sviluppatori di mantenere il codice node-postgres esistente ottenendo al contempo un accesso sicuro basato su IAM ai cluster Aurora DSQL attraverso la gestione automatizzata dei token.
Che cos’è l’autenticazione di Aurora DSQL?
In Aurora DSQL, l’autenticazione prevede:
-
Autenticazione IAM: tutte le connessioni utilizzano l’autenticazione basata su IAM con token a tempo limitato
-
Generazione di token: i token di autenticazione vengono generati utilizzando credenziali AWS e hanno una durata configurabile
Il connettore Aurora DSQL per node-postgres è 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
-
Basato su node-postgres: sfrutta il popolare client PostgreSQL per Node.js
-
Integrazione perfetta: funziona con i modelli di connessione node-postgres esistenti
-
Region 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
Applicazione di esempio
Nell'esempio è inclusa un'applicazione di esempio
Guida rapida all'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-node-postgres-connector
Dipendenze tra pari
npm install @aws-sdk/credential-providers @aws-sdk/dsql-signer pg tsx npm install --save-dev @types/pg
Utilizzo
Connessione client
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();
Connessione al pool
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()");
Utilizzo avanzato
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();
Opzioni di configurazione
| Opzione | Tipo | Campo obbligatorio | Descrizione |
|---|---|---|---|
host
|
string
|
Sì | Nome host del cluster DSQL |
username
|
string
|
Sì | nome utente DSQL |
database
|
string
|
No | Nome del database |
region
|
string
|
No | Regione AWS (rilevata automaticamente dal nome host se non fornita) |
port
|
number
|
No | L'impostazione predefinita è 5432 |
customCredentialsProvider
|
AwsCredentialIdentity / AwsCredentialIdentityProvider
|
No | Provider di credenziali AWS personalizzate |
profile
|
string
|
No | Il nome del profilo IAM. L'impostazione predefinita è «default» |
tokenDurationSecs
|
number
|
No | Tempo di scadenza del token in secondi |
Tutti gli altri parametri di Client/Pool
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