

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Aurora DSQL-Konnektoren für Node.js
<a name="SECTION_Node-js-connectors"></a>

Der Aurora DSQL Connector für node-postgres und der Aurora DSQL Connector für Postgres.js sind Authentifizierungs-Plugins, die die Funktionalität der Clients node-postgres und Postgres.js erweitern, sodass Anwendungen sich mit Aurora DSQL mithilfe von IAM-Anmeldeinformationen authentifizieren können.

# Aurora DSQL-Konnektor für Node-Postgres
<a name="SECTION_program-with-dsql-connector-for-node-postgres"></a>

 Der [Aurora DSQL Connector für Node-Postgres ist ein Node.js Connector, der auf [Node-Postgres](https://node-postgres.com/)](https://github.com/awslabs/aurora-dsql-connectors/tree/main/node/node-postgres) basiert und die IAM-Authentifizierung für die Verbindung von Anwendungen mit Amazon Aurora DSQL-Clustern integriert. JavaScript/TypeScript 

 Der Aurora DSQL Connector ist als Authentifizierungs-Plugin konzipiert, das die Funktionalität des Clients und Pools von Node-Postgres erweitert, sodass Anwendungen sich mit Amazon Aurora DSQL mithilfe von IAM-Anmeldeinformationen authentifizieren können. 

## Über den Connector
<a name="about-the-connector"></a>

 Amazon Aurora DSQL ist eine Cloud-native verteilte Datenbank mit PostgreSQL-Kompatibilität. Sie erfordert zwar IAM-Authentifizierung und zeitgebundene Token, aber bei herkömmlichen Node.js Datenbanktreibern fehlt diese integrierte Unterstützung. 

 Der Aurora DSQL Connector für Node-Postgres schließt diese Lücke, indem er eine Authentifizierungs-Middleware implementiert, die nahtlos mit Node-Postgres zusammenarbeitet. Dieser Ansatz ermöglicht es Entwicklern, ihren bestehenden Node-Postgres-Code beizubehalten und gleichzeitig durch automatisiertes Token-Management sicheren IAM-basierten Zugriff auf Aurora DSQL-Cluster zu erhalten. 

### Was ist Aurora DSQL-Authentifizierung?
<a name="what-is-aurora-dsql-authentication"></a>

 In Aurora DSQL umfasst die Authentifizierung: 
+  **IAM-Authentifizierung**: alle Verbindungen verwenden eine IAM-basierte Authentifizierung mit zeitlich begrenzten Token 
+  **Token-Generierung:** Authentifizierungstoken werden mithilfe von AWS-Anmeldeinformationen generiert und haben eine konfigurierbare Lebensdauer 

 Der Aurora DSQL Connector für Node-Postgres wurde entwickelt, um diese Anforderungen zu verstehen und beim Verbindungsaufbau automatisch IAM-Authentifizierungstoken zu generieren. 

### Features
<a name="features"></a>
+  **Automatische IAM-Authentifizierung** — Übernimmt die Generierung und Aktualisierung von DSQL-Tokens 
+  **Basiert auf Node-Postgres** — Nutzt den beliebten PostgreSQL-Client für Node.js 
+  **Nahtlose Integration** — Funktioniert mit bestehenden Node-Postgres-Verbindungsmustern 
+  **Automatische Erkennung der Region** — Extrahiert die AWS-Region aus dem DSQL-Cluster-Hostnamen 
+  ** TypeScript Umfassender Support** — bietet volle Typsicherheit 
+  **Support für AWS-Anmeldeinformationen** — Unterstützt verschiedene AWS-Anmeldeinformationsanbieter (Standard, profilbasiert, benutzerdefiniert) 
+  **Kompatibilität mit Verbindungspooling** — Funktioniert problemlos mit dem integrierten Verbindungspooling 

## Beispielanwendung
<a name="example-application"></a>

 Im [Beispiel](https://github.com/awslabs/aurora-dsql-connectors/tree/main/node/node-postgres/example) ist eine Beispielanwendung enthalten, die zeigt, wie Aurora DSQL Connector für Node-Postgres verwendet wird. [Um das mitgelieferte Beispiel auszuführen, lesen Sie bitte die README-Beispieldatei.](https://github.com/awslabs/aurora-dsql-connectors/blob/main/node/node-postgres/example/README.md) 

## Schnellstartanleitung
<a name="quick-start-guide"></a>

### Voraussetzungen
<a name="requirements"></a>
+  Node.js 20\$1 
+  [Zugriff auf einen Aurora DSQL-Cluster](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/getting-started.html) 
+  Richten Sie die entsprechenden IAM-Berechtigungen ein, damit Ihre Anwendung eine Verbindung zu Aurora DSQL herstellen kann. 
+  AWS-Anmeldeinformationen konfiguriert (über AWS-CLI, Umgebungsvariablen oder IAM-Rollen) 

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

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

## Abhängigkeiten von Kollegen
<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>

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

### Pool-Verbindung
<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()");
```

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

## Konfigurationsoptionen
<a name="configuration-options"></a>


|  Option  |  Typ  |  Erforderlich  |  Beschreibung  | 
| --- | --- | --- | --- | 
|  host  |  string  |  Ja  |  Hostname des DSQL-Clusters  | 
|  username  |  string  |  Ja  |  DSQL-Benutzername  | 
|  database  |  string  |  Nein  |  Datenbankname  | 
|  region  |  string  |  Nein  |  AWS-Region (automatisch anhand des Hostnamens erkannt, falls nicht angegeben)  | 
|  port  |  number  |  Nein  |  Die Standardeinstellung ist 5432  | 
|  customCredentialsProvider  |  AwsCredentialIdentity / AwsCredentialIdentityProvider  |  Nein  |  Anbieter für benutzerdefinierte AWS-Anmeldeinformationen  | 
|  profile  |  string  |  Nein  |  Der IAM-Profilname. Die Standardeinstellung ist „Standard“  | 
|  tokenDurationSecs  |  number  |  Nein  |  Ablaufzeit des Tokens in Sekunden  | 

 Alle anderen Parameter von [Client](https://node-postgres.com/apis/client) [/Pool](https://node-postgres.com/apis/pool) werden unterstützt. 

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

 Der Connector verarbeitet die DSQL-Authentifizierung automatisch, indem er mithilfe des DSQL-Client-Token-Generators Token generiert. Wenn die AWS-Region nicht angegeben wird, wird sie automatisch anhand des angegebenen Hostnamens analysiert. 

 Weitere Informationen zur Authentifizierung in Aurora DSQL finden Sie im [Benutzerhandbuch](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/authentication-authorization.html). 

### Admin im Vergleich zu regulären Benutzern
<a name="admin-vs-regular-users"></a>
+  Benutzer mit dem Namen „admin“ verwenden automatisch Admin-Authentifizierungstoken 
+  Alle anderen Benutzer verwenden reguläre Authentifizierungstoken 
+  Token werden dynamisch für jede Verbindung generiert 

# Aurora DSQL-Konnektor für Postgres.js
<a name="SECTION_program-with-dsql-connector-for-postgresjs"></a>

 Der [Aurora DSQL Connector for Postgres.js](https://github.com/awslabs/aurora-dsql-connectors/tree/main/node/postgres-js) ist ein Node.js Connector, der auf [Postgres.js](https://github.com/porsager/postgres) basiert und die IAM-Authentifizierung für die Verbindung von JavaScript Anwendungen mit Amazon Aurora DSQL-Clustern integriert. 

 Der Aurora DSQL Connector für Postgres.js ist als Authentifizierungs-Plugin konzipiert, das die Funktionalität des Postgres.js -Clients erweitert, sodass Anwendungen sich mit Amazon Aurora DSQL mithilfe von IAM-Anmeldeinformationen authentifizieren können. Der Connector stellt keine direkte Verbindung zur Datenbank her, sondern bietet zusätzlich zum zugrunde liegenden Postgres.js -Treiber eine nahtlose IAM-Authentifizierung. 

## Über den Connector
<a name="about-the-connector"></a>

 Amazon Aurora DSQL ist ein verteilter SQL-Datenbankservice, der hohe Verfügbarkeit und Skalierbarkeit für PostgreSQL-kompatible Anwendungen bietet. Aurora DSQL erfordert eine IAM-basierte Authentifizierung mit zeitlich begrenzten Tokens, die vorhandene Node.js -Treiber nicht nativ unterstützen. 

 Die Idee hinter dem Aurora DSQL Connector for Postgres.js besteht darin, dem Client Postgres.js eine Authentifizierungsebene hinzuzufügen, die die Generierung von IAM-Tokens übernimmt, sodass Benutzer eine Verbindung zu Aurora DSQL herstellen können, ohne ihre bestehenden Postgres.js -Workflows zu ändern. 

 Der Aurora DSQL Connector für Postgres.js funktioniert mit den meisten Versionen von Postgres.js. Benutzer stellen ihre eigene Version bereit, indem sie Postgres.js direkt installieren. 

### Was ist Aurora DSQL-Authentifizierung?
<a name="what-is-aurora-dsql-authentication"></a>

 In Aurora DSQL umfasst die Authentifizierung: 
+  **IAM-Authentifizierung**: alle Verbindungen verwenden eine IAM-basierte Authentifizierung mit zeitlich begrenzten Token 
+  **Token-Generierung:** Authentifizierungstoken werden mithilfe von AWS-Anmeldeinformationen generiert und haben konfigurierbare Lebensdauern 

 Der Aurora DSQL Connector für Postgres.js wurde entwickelt, um diese Anforderungen zu verstehen und beim Verbindungsaufbau automatisch IAM-Authentifizierungstoken zu generieren. 

### Features
<a name="features"></a>
+  **Automatische IAM-Authentifizierung** — Übernimmt die Generierung und Aktualisierung von DSQL-Tokens 
+  **Basiert auf Postgres.js** — Nutzt den schnellen PostgreSQL-Client für Node.js 
+  **Nahtlose Integration** — Funktioniert mit vorhandenen Postgres.js Verbindungsmustern 
+  **Automatische Erkennung der Region** — Extrahiert die AWS-Region aus dem DSQL-Cluster-Hostnamen 
+  ** TypeScript Umfassender Support** — bietet volle Typsicherheit 
+  **Support für AWS-Anmeldeinformationen** — Unterstützt verschiedene AWS-Anmeldeinformationsanbieter (Standard, profilbasiert, benutzerdefiniert) 
+  **Kompatibilität mit Verbindungspooling** — Funktioniert nahtlos mit dem integrierten Verbindungspooling von Postgres.js 

## Schnellstart-Anleitung
<a name="quick-start-guide"></a>

### Voraussetzungen
<a name="requirements"></a>
+  Node.js 20\$1 
+  [Zugriff auf einen Aurora DSQL-Cluster](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/getting-started.html) 
+  Richten Sie die entsprechenden IAM-Berechtigungen ein, damit Ihre Anwendung eine Verbindung zu Aurora DSQL herstellen kann. 
+  AWS-Anmeldeinformationen konfiguriert (über AWS-CLI, Umgebungsvariablen oder IAM-Rollen) 

### 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
```

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

#### Cluster-ID anstelle von Host verwenden
<a name="using-cluster-id-instead-of-host"></a>

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

### Verbindungszeichenfolge
<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`;
```

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

## Konfigurationsoptionen
<a name="configuration-options"></a>


|  Option  |  Typ  |  Erforderlich  |  Beschreibung  | 
| --- | --- | --- | --- | 
|  host  |  string  |  Ja  |  Hostname oder Cluster-ID des DSQL-Clusters  | 
|  database  |  string?  |  Nein  |  Datenbankname  | 
|  username  |  string?  |  Nein  |  Datenbank-Benutzername (verwendet admin, falls nicht angegeben)  | 
|  region  |  string?  |  Nein  |  AWS-Region (automatisch anhand des Hostnamens erkannt, falls nicht angegeben)  | 
|  customCredentialsProvider  |  AwsCredentialIdentityProvider?  |  Nein  |  Anbieter für benutzerdefinierte AWS-Anmeldeinformationen  | 
|  tokenDurationSecs  |  number?  |  Nein  |  Ablaufzeit des Tokens in Sekunden  | 

 Alle [Standardoptionen von Postgres.js](https://github.com/porsager/postgres?tab=readme-ov-file#connection-details) werden ebenfalls unterstützt. 

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

 Der Connector verarbeitet die DSQL-Authentifizierung automatisch, indem er mithilfe des DSQL-Client-Token-Generators Token generiert. Wenn die AWS-Region nicht angegeben wird, wird sie automatisch anhand des angegebenen Hostnamens analysiert. 

 Weitere Informationen zur Authentifizierung in Aurora DSQL finden Sie im [Benutzerhandbuch](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/authentication-authorization.html). 

### Admin im Vergleich zu regulären Benutzern
<a name="admin-vs-regular-users"></a>
+  Benutzer mit dem Namen „admin“ verwenden automatisch Admin-Authentifizierungstoken 
+  Alle anderen Benutzer verwenden reguläre Authentifizierungstoken 
+  Tokens werden dynamisch für jede Verbindung generiert 

## Beispiel für die Verwendung
<a name="sample-usage"></a>

 JavaScript Beispiele, die den Aurora DSQL Connector für Postgres.js verwenden, finden Sie unter GitHub. Anweisungen zur Ausführung der Beispiele finden Sie im [Beispielverzeichnis](https://github.com/awslabs/aurora-dsql-connectors/tree/main/node/postgres-js/example). 


|  Description  |  Beispiel  | 
| --- | --- | 
|  Verbindungspooling mit gleichzeitigen Abfragen, einschließlich Tabellenerstellung, Einfügungen und Lesevorgängen für mehrere Worker  |  [Beispiel für einen Verbindungspool (bevorzugt)](https://github.com/awslabs/aurora-dsql-connectors/blob/main/node/postgres-js/example/src/example_preferred.js)  | 
|  CRUD-Operationen (Tabelle erstellen, einfügen, auswählen, löschen) ohne Verbindungspooling  |  [Beispiel ohne Verbindungspool](https://github.com/awslabs/aurora-dsql-connectors/blob/main/node/postgres-js/example/src/alternatives/no_connection_pool/example_with_no_connection_pool.js)  | 