

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Connecteurs SQL Aurora pour Node.js
<a name="SECTION_Node-js-connectors"></a>

Le connecteur Aurora DSQL pour node-postgres et le connecteur Aurora DSQL pour Postgres.js sont des plug-ins d'authentification qui étendent les fonctionnalités des clients node-postgres et Postgres.js afin de permettre aux applications de s'authentifier auprès d'Aurora DSQL à l'aide des informations d'identification IAM.

# Connecteur SQL Aurora pour node-postgres
<a name="SECTION_program-with-dsql-connector-for-node-postgres"></a>

 Le [connecteur Aurora DSQL pour node-postgres](https://github.com/awslabs/aurora-dsql-connectors/tree/main/node/node-postgres) est un connecteur Node.js basé sur [node-postgres](https://node-postgres.com/) qui intègre l'authentification IAM pour connecter des applications aux clusters Amazon Aurora DSQL. JavaScript/TypeScript 

 Le connecteur Aurora DSQL est conçu comme un plug-in d'authentification qui étend les fonctionnalités du client et du pool de nœuds postgres afin de permettre aux applications de s'authentifier auprès d'Amazon Aurora DSQL à l'aide des informations d'identification IAM. 

## À propos du connecteur
<a name="about-the-connector"></a>

 Amazon Aurora DSQL est une base de données distribuée native dans le cloud compatible avec PostgreSQL. Bien qu'il nécessite une authentification IAM et des jetons limités dans le temps, les pilotes de base de données Node.js traditionnels ne disposent pas de cette prise en charge intégrée. 

 Le connecteur SQL Aurora pour node-postgres comble cette lacune en implémentant un intergiciel d'authentification qui fonctionne parfaitement avec node-postgres. Cette approche permet aux développeurs de conserver leur code node-postgres existant tout en obtenant un accès sécurisé basé sur l'IAM aux clusters Aurora DSQL grâce à la gestion automatisée des jetons. 

### Qu’est-ce que l’authentification Aurora DSQL ?
<a name="what-is-aurora-dsql-authentication"></a>

 Dans Aurora DSQL, l’authentification implique : 
+  **Authentification IAM** : toutes les connexions utilisent l’authentification basée sur IAM avec des jetons à durée limitée 
+  **Génération de jetons :** les jetons d'authentification sont générés à l'aide des informations d'identification AWS et ont une durée de vie configurable 

 Le connecteur Aurora DSQL pour node-postgres est conçu pour comprendre ces exigences et générer automatiquement des jetons d'authentification IAM lors de l'établissement de connexions. 

### Caractéristiques
<a name="features"></a>
+  **Authentification IAM automatique** : gère la génération et l'actualisation des jetons DSQL 
+  **Construit sur node-postgres** : exploite le célèbre client PostgreSQL pour Node.js 
+  **Intégration fluide** - Fonctionne avec les modèles de connexion node-postgres existants 
+  **Découverte automatique des régions** : extrait la région AWS du nom d'hôte du cluster DSQL 
+  ** TypeScript Support complet** - Assure une sécurité totale du type 
+  **Support des informations d'identification AWS** : prend en charge différents fournisseurs d'informations d'identification AWS (par défaut, basé sur le profil, personnalisé) 
+  **Compatibilité avec le regroupement de connexions** : fonctionne parfaitement grâce au regroupement de connexions intégré 

## Exemple d'application
<a name="example-application"></a>

 Un exemple d'application est inclus, [par exemple](https://github.com/awslabs/aurora-dsql-connectors/tree/main/node/node-postgres/example), qui montre comment utiliser le connecteur Aurora DSQL pour node-postgres. Pour exécuter l'exemple inclus, veuillez vous référer à l'exemple [README.](https://github.com/awslabs/aurora-dsql-connectors/blob/main/node/node-postgres/example/README.md) 

## Guide de démarrage rapide
<a name="quick-start-guide"></a>

### Exigences
<a name="requirements"></a>
+  Node.js 20\$1 
+  [Accès à un cluster SQL Aurora](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/getting-started.html) 
+  Configuration des autorisations IAM appropriées pour permettre à votre application de se connecter à Aurora DSQL. 
+  Informations d'identification AWS configurées (via l'interface de ligne de commande AWS, les variables d'environnement ou les rôles IAM) 

## Installation
<a name="installation"></a>

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

## Dépendances entre pairs
<a name="peer-dependencies"></a>

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

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

### Connexion 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();
```

### Connexion à la piscine
<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()");
```

### Utilisation avancée
<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();
```

## Options de configuration
<a name="configuration-options"></a>


|  Option  |  Type  |  Obligatoire  |  Description  | 
| --- | --- | --- | --- | 
|  host  |  string  |  Oui  |  Nom d'hôte du cluster SQL  | 
|  username  |  string  |  Oui  |  Nom d'utilisateur DSQL  | 
|  database  |  string  |  Non  |  Nom de la base de données  | 
|  region  |  string  |  Non  |  Région AWS (détectée automatiquement à partir du nom d'hôte s'il n'est pas fourni)  | 
|  port  |  number  |  Non  |  Par défaut : 5432  | 
|  customCredentialsProvider  |  AwsCredentialIdentity / AwsCredentialIdentityProvider  |  Non  |  Fournisseur d'informations d'identification AWS personnalisées  | 
|  profile  |  string  |  Non  |  Le nom du profil IAM. Par défaut, c'est « par défaut »  | 
|  tokenDurationSecs  |  number  |  Non  |  Délai d'expiration du jeton en secondes  | 

 Tous les autres paramètres du [https://node-postgres.com/apis/client](https://node-postgres.com/apis/client) sont pris en charge. 

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

 Le connecteur gère automatiquement l'authentification DSQL en générant des jetons à l'aide du générateur de jetons du client DSQL. Si la région AWS n'est pas fournie, elle sera automatiquement analysée à partir du nom d'hôte fourni. 

 Pour plus d'informations sur l'authentification dans Aurora DSQL, consultez le [guide de l'utilisateur](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/authentication-authorization.html). 

### Administrateur et utilisateurs réguliers
<a name="admin-vs-regular-users"></a>
+  Les utilisateurs nommés « admin » utilisent automatiquement des jetons d'authentification d'administrateur 
+  Tous les autres utilisateurs utilisent des jetons d'authentification ordinaires 
+  Les jetons sont générés dynamiquement pour chaque connexion 

# Connecteur SQL Aurora pour Postgres.js
<a name="SECTION_program-with-dsql-connector-for-postgresjs"></a>

 Le [connecteur Aurora DSQL pour Postgres.js](https://github.com/awslabs/aurora-dsql-connectors/tree/main/node/postgres-js) est un connecteur Node.js basé sur [Postgres.js](https://github.com/porsager/postgres) qui intègre l'authentification IAM pour connecter des JavaScript applications aux clusters Amazon Aurora DSQL. 

 Le connecteur Aurora DSQL pour Postgres.js est conçu comme un plug-in d'authentification qui étend les fonctionnalités du client Postgres.js afin de permettre aux applications de s'authentifier auprès d'Amazon Aurora DSQL à l'aide des informations d'identification IAM. Le connecteur ne se connecte pas directement à la base de données, mais fournit une authentification IAM fluide en plus du pilote Postgres.js sous-jacent. 

## À propos du connecteur
<a name="about-the-connector"></a>

 Amazon Aurora DSQL est un service de base de données SQL distribué qui fournit une disponibilité et une évolutivité élevées aux applications compatibles avec PostgreSQL. Aurora DSQL nécessite une authentification basée sur IAM avec des jetons limités dans le temps que les pilotes Node.js existants ne prennent pas en charge de manière native. 

 L'idée du connecteur Aurora DSQL pour Postgres.js est d'ajouter une couche d'authentification au-dessus du client Postgres.js qui gère la génération de jetons IAM, permettant aux utilisateurs de se connecter à Aurora DSQL sans modifier leurs flux de travail Postgres.js existants. 

 Le connecteur Aurora DSQL pour Postgres.js fonctionne avec la plupart des versions de Postgres.js. Les utilisateurs fournissent leur propre version en installant directement Postgres.js. 

### Qu’est-ce que l’authentification Aurora DSQL ?
<a name="what-is-aurora-dsql-authentication"></a>

 Dans Aurora DSQL, l’authentification implique : 
+  **Authentification IAM** : toutes les connexions utilisent l’authentification basée sur IAM avec des jetons à durée limitée 
+  **Génération de jetons :** les jetons d'authentification sont générés à l'aide des informations d'identification AWS et ont une durée de vie configurable 

 Le connecteur Aurora DSQL pour Postgres.js est conçu pour comprendre ces exigences et générer automatiquement des jetons d'authentification IAM lors de l'établissement de connexions. 

### Caractéristiques
<a name="features"></a>
+  **Authentification IAM automatique** : gère la génération et l'actualisation des jetons DSQL 
+  **Construit sur Postgres.js** : exploite le client rapide PostgreSQL pour Node.js 
+  **Intégration parfaite** - Fonctionne avec les modèles de connexion Postgres.js existants 
+  **Découverte automatique des régions** : extrait la région AWS du nom d'hôte du cluster DSQL 
+  ** TypeScript Support complet** - Assure une sécurité totale du type 
+  **Support des informations d'identification AWS** : prend en charge différents fournisseurs d'informations d'identification AWS (par défaut, basé sur le profil, personnalisé) 
+  **Compatibilité avec le regroupement de connexions** - Fonctionne parfaitement avec le regroupement de connexions intégré à Postgres.js 

## Guide de démarrage rapide
<a name="quick-start-guide"></a>

### Exigences
<a name="requirements"></a>
+  Node.js 20\$1 
+  [Accès à un cluster SQL Aurora](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/getting-started.html) 
+  Configuration des autorisations IAM appropriées pour permettre à votre application de se connecter à Aurora DSQL. 
+  Informations d'identification AWS configurées (via l'interface de ligne de commande AWS, les variables d'environnement ou les rôles IAM) 

### Installation
<a name="installation"></a>

```
npm install @aws/aurora-dsql-postgresjs-connector
# Postgres.js is a peer-dependency, so users must install it themselves
npm install postgres
```

### Utilisation de base
<a name="basic-usage"></a>

```
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();
```

#### Utilisation de l'ID du cluster au lieu de l'hôte
<a name="using-cluster-id-instead-of-host"></a>

```
const sql = auroraDSQLPostgres({
  host: 'your-cluster-id',
  region: 'us-east-1',
  username: 'admin',
    
});
```

### Chaîne de connexion
<a name="connection-string"></a>

```
const sql = AuroraDSQLPostgres(
  'postgres://admin@your-cluster.dsql.us-east-1.on.aws'
);

const result = await sql`SELECT current_timestamp`;
```

### Configuration avancée
<a name="advanced-configuration"></a>

```
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
});
```

## Options de configuration
<a name="configuration-options"></a>


|  Option  |  Type  |  Obligatoire  |  Description  | 
| --- | --- | --- | --- | 
|  host  |  string  |  Oui  |  Nom d'hôte ou ID de cluster DSQL  | 
|  database  |  string?  |  Non  |  Nom de la base de données  | 
|  username  |  string?  |  Non  |  Nom d'utilisateur de la base de données (utilise admin s'il n'est pas fourni)  | 
|  region  |  string?  |  Non  |  Région AWS (détectée automatiquement à partir du nom d'hôte s'il n'est pas fourni)  | 
|  customCredentialsProvider  |  AwsCredentialIdentityProvider?  |  Non  |  Fournisseur d'informations d'identification AWS personnalisées  | 
|  tokenDurationSecs  |  number?  |  Non  |  Délai d'expiration du jeton en secondes  | 

 Toutes les [options standard de Postgres.js](https://github.com/porsager/postgres?tab=readme-ov-file#connection-details) sont également prises en charge. 

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

 Le connecteur gère automatiquement l'authentification DSQL en générant des jetons à l'aide du générateur de jetons du client DSQL. Si la région AWS n'est pas fournie, elle sera automatiquement analysée à partir du nom d'hôte fourni. 

 Pour plus d'informations sur l'authentification dans Aurora DSQL, consultez le [guide de l'utilisateur](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/authentication-authorization.html). 

### Administrateur et utilisateurs réguliers
<a name="admin-vs-regular-users"></a>
+  Les utilisateurs nommés « admin » utilisent automatiquement des jetons d'authentification d'administrateur 
+  Tous les autres utilisateurs utilisent des jetons d'authentification ordinaires 
+  Les jetons sont générés dynamiquement pour chaque connexion 

## Utilisation de l'échantillon
<a name="sample-usage"></a>

 JavaScript des exemples utilisant le connecteur Aurora DSQL pour Postgres.js sont disponibles sur GitHub. Pour obtenir des instructions sur la façon d'exécuter les exemples, reportez-vous au [répertoire des exemples](https://github.com/awslabs/aurora-dsql-connectors/tree/main/node/postgres-js/example). 


|  Description  |  Exemple  | 
| --- | --- | 
|  Regroupement de connexions avec requêtes simultanées, y compris la création de tables, les insertions et les lectures entre plusieurs travailleurs  |  [Exemple de pool de connexions (préféré)](https://github.com/awslabs/aurora-dsql-connectors/blob/main/node/postgres-js/example/src/example_preferred.js)  | 
|  Opérations CRUD (création de table, insertion, sélection, suppression) sans regroupement de connexions  |  [Exemple sans pool de connexions](https://github.com/awslabs/aurora-dsql-connectors/blob/main/node/postgres-js/example/src/alternatives/no_connection_pool/example_with_no_connection_pool.js)  | 