View a markdown version of this page

Connettore Aurora DSQL per Postgres.js - Amazon Aurora DSQL

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 basato su Postgres.jsche integra l'autenticazione IAM per connettere le applicazioni ai cluster DSQL di JavaScript Amazon Aurora.

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+

  • Accesso a un cluster Aurora DSQL

  • 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 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 standard.

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