

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Konektor Aurora DSQL untuk node-postgres
<a name="SECTION_program-with-dsql-connector-for-node-postgres"></a>

 Konektor [Aurora DSQL untuk node-postgres adalah konektor Node.js yang dibangun di atas [node-postgres](https://node-postgres.com/)](https://github.com/awslabs/aurora-dsql-connectors/tree/main/node/node-postgres) yang mengintegrasikan Autentikasi IAM untuk menghubungkan aplikasi ke cluster DSQL Amazon Aurora. JavaScript/TypeScript 

 Konektor Aurora DSQL dirancang sebagai plugin otentikasi yang memperluas fungsionalitas Klien dan Pool node-postgres untuk memungkinkan aplikasi mengautentikasi dengan Amazon Aurora DSQL menggunakan kredensil IAM. 

## Tentang Konektor
<a name="about-the-connector"></a>

 Amazon Aurora DSQL adalah database terdistribusi cloud-native dengan kompatibilitas PostgreSQL. Meskipun memerlukan otentikasi IAM dan token terikat waktu, driver database Node.js tradisional tidak memiliki dukungan bawaan ini. 

 Konektor Aurora DSQL untuk node-postgres menjembatani kesenjangan ini dengan menerapkan middleware otentikasi yang bekerja mulus dengan node-postgres. Pendekatan ini memungkinkan pengembang untuk mempertahankan kode node-postgres mereka yang ada sambil mendapatkan akses berbasis IAM yang aman ke cluster Aurora DSQL melalui manajemen token otomatis. 

### Apa itu Autentikasi Aurora DSQL?
<a name="what-is-aurora-dsql-authentication"></a>

 Dalam Aurora DSQL, otentikasi melibatkan: 
+  **Otentikasi IAM:** Semua koneksi menggunakan otentikasi berbasis IAM dengan token terbatas waktu 
+  **Pembuatan Token:** Token otentikasi dibuat menggunakan kredensi AWS dan memiliki masa pakai yang dapat dikonfigurasi 

 Konektor Aurora DSQL untuk node-postgres dirancang untuk memahami persyaratan ini dan secara otomatis menghasilkan token otentikasi IAM saat membuat koneksi. 

### Fitur
<a name="features"></a>
+  **Otentikasi IAM Otomatis** - Menangani pembuatan dan penyegaran token DSQL 
+  **Dibangun di atas node-postgres** - Memanfaatkan klien PostgreSQL populer untuk Node.js 
+  **Integrasi Seamless** - Bekerja dengan pola koneksi node-postgres yang ada 
+  **Region Auto-Discovery** - Mengekstrak wilayah AWS dari nama host cluster DSQL 
+  **Full TypeScript Support** - Menyediakan keamanan tipe penuh 
+  **AWS Credentials Support** - Mendukung berbagai penyedia kredensi AWS (default, berbasis profil, kustom) 
+  **Kompatibilitas Pengumpulan Koneksi** - Bekerja dengan mulus dengan penyatuan koneksi bawaan 

## Contoh Aplikasi
<a name="example-application"></a>

 Ada contoh aplikasi yang disertakan dalam [contoh](https://github.com/awslabs/aurora-dsql-connectors/tree/main/node/node-postgres/example) yang menunjukkan cara menggunakan Aurora DSQL Connector untuk node-postgres. Untuk menjalankan contoh yang disertakan, silakan lihat contoh [README](https://github.com/awslabs/aurora-dsql-connectors/blob/main/node/node-postgres/example/README.md). 

## Panduan memulai cepat
<a name="quick-start-guide"></a>

### Persyaratan
<a name="requirements"></a>
+  Node.js 20\$1 
+  [Akses ke cluster Aurora DSQL](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/getting-started.html) 
+  Siapkan izin IAM yang sesuai untuk memungkinkan aplikasi Anda terhubung ke Aurora DSQL. 
+  Kredensi AWS dikonfigurasi (melalui AWS CLI, variabel lingkungan, atau peran IAM) 

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

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

## Dependensi Sebaya
<a name="peer-dependencies"></a>

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

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

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

### Koneksi Kolam
<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()");
```

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

## Opsi konfigurasi
<a name="configuration-options"></a>


|  Opsi  |  Tipe  |  Diperlukan  |  Deskripsi  | 
| --- | --- | --- | --- | 
|  host  |  string  |  Ya  |  Nama host kluster DSQL  | 
|  username  |  string  |  Ya  |  Nama pengguna DSQL  | 
|  database  |  string  |  Tidak  |  Nama basis data  | 
|  region  |  string  |  Tidak  |  Wilayah AWS (terdeteksi secara otomatis dari nama host jika tidak disediakan)  | 
|  port  |  number  |  Tidak  |  Default ke 5432  | 
|  customCredentialsProvider  |  AwsCredentialIdentity / AwsCredentialIdentityProvider  |  Tidak  |  Penyedia kredensi AWS kustom  | 
|  profile  |  string  |  Tidak  |  Nama profil IAM. Default ke “default”  | 
|  tokenDurationSecs  |  number  |  Tidak  |  Waktu kedaluwarsa token dalam hitungan detik  | 

 Semua parameter lain dari [https://node-postgres.com/apis/client](https://node-postgres.com/apis/client) didukung. 

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

 Konektor secara otomatis menangani otentikasi DSQL dengan menghasilkan token menggunakan generator token klien DSQL. Jika wilayah AWS tidak disediakan, wilayah AWS akan diurai secara otomatis dari nama host yang disediakan. 

 [Untuk informasi selengkapnya tentang otentikasi di Aurora DSQL, lihat panduan pengguna.](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/authentication-authorization.html) 

### Admin vs Pengguna Reguler
<a name="admin-vs-regular-users"></a>
+  Pengguna bernama “admin” secara otomatis menggunakan token otentikasi admin 
+  Semua pengguna lain menggunakan token otentikasi reguler 
+  Token dihasilkan secara dinamis untuk setiap koneksi 