

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
<a name="SECTION_program-with-dsql-connector-for-node-postgres"></a>

 Il connettore [Aurora DSQL per node-postgres è un connettore Node.js basato su node-postgres](https://github.com/awslabs/aurora-dsql-connectors/tree/main/node/node-postgres) [che integra](https://node-postgres.com/) l'autenticazione IAM per connettere le applicazioni ai cluster DSQL di Amazon Aurora. JavaScript/TypeScript 

 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
<a name="about-the-connector"></a>

 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?
<a name="what-is-aurora-dsql-authentication"></a>

 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à
<a name="features"></a>
+  **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
<a name="example-application"></a>

 Nell'[esempio è inclusa un'applicazione di esempio](https://github.com/awslabs/aurora-dsql-connectors/tree/main/node/node-postgres/example) che mostra come utilizzare Aurora DSQL Connector per node-postgres. [Per eseguire l'esempio incluso, fai riferimento all'esempio README.](https://github.com/awslabs/aurora-dsql-connectors/blob/main/node/node-postgres/example/README.md) 

## Guida rapida all'avvio
<a name="quick-start-guide"></a>

### Requisiti
<a name="requirements"></a>
+  Node.js 20\$1 
+  [Accesso a un cluster Aurora DSQL](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/getting-started.html) 
+  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
<a name="installation"></a>

```
npm install @aws/aurora-dsql-node-postgres-connector
```

## Dipendenze tra pari
<a name="peer-dependencies"></a>

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

## Utilizzo
<a name="usage"></a>

### Connessione client
<a name="client-connection"></a>

```
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
<a name="pool-connection"></a>

```
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
<a name="advanced-usage"></a>

```
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
<a name="configuration-options"></a>


|  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 [https://node-postgres.com/apis/client](https://node-postgres.com/apis/client) sono supportati. 

## Autenticazione
<a name="authentication"></a>

 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.](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/authentication-authorization.html) 

### Amministratore e utenti regolari
<a name="admin-vs-regular-users"></a>
+  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 