

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.js
<a name="SECTION_Node-js-connectors"></a>

Konektor Aurora DSQL untuk node-postgres dan Konektor Aurora DSQL untuk Postgres.js adalah plugin otentikasi yang memperluas fungsionalitas klien node-postgres dan Postgres.js untuk memungkinkan aplikasi mengautentikasi dengan Aurora DSQL menggunakan kredensil IAM.

# 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 

# Konektor Aurora DSQL untuk Postgres.js
<a name="SECTION_program-with-dsql-connector-for-postgresjs"></a>

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

 Konektor Aurora DSQL untuk Postgres.js dirancang sebagai plugin otentikasi yang memperluas fungsionalitas klien Postgres.js untuk memungkinkan aplikasi mengautentikasi dengan Amazon Aurora DSQL menggunakan kredensil IAM. Konektor tidak terhubung langsung ke database, tetapi menyediakan otentikasi IAM yang mulus di atas driver Postgres.js yang mendasarinya. 

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

 Amazon Aurora DSQL adalah layanan database SQL terdistribusi yang menyediakan ketersediaan dan skalabilitas tinggi untuk aplikasi yang kompatibel dengan PostgreSQL. Aurora DSQL memerlukan otentikasi berbasis IAM dengan token terbatas waktu yang tidak didukung oleh driver Node.js yang ada secara native. 

 Ide di balik Konektor Aurora DSQL untuk Postgres.js adalah menambahkan lapisan otentikasi di atas klien Postgres.js yang menangani pembuatan token IAM, memungkinkan pengguna untuk terhubung ke Aurora DSQL tanpa mengubah alur kerja Postgres.js yang ada. 

 Konektor Aurora DSQL untuk Postgres.js bekerja dengan sebagian besar versi Postgres.js. Pengguna menyediakan versi mereka sendiri dengan menginstal Postgres.js secara langsung. 

### 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 Postgres.js 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 Postgres.js** - Memanfaatkan klien PostgreSQL cepat untuk Node.js 
+  **Integrasi Seamless** - Bekerja dengan pola koneksi Postgres.js 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 Postgres.js 

## 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-postgresjs-connector
# Postgres.js is a peer-dependency, so users must install it themselves
npm install postgres
```

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

#### Menggunakan ID cluster alih-alih host
<a name="using-cluster-id-instead-of-host"></a>

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

### String Koneksi
<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`;
```

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

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


|  Opsi  |  Tipe  |  Diperlukan  |  Deskripsi  | 
| --- | --- | --- | --- | 
|  host  |  string  |  Ya  |  Nama host cluster DSQL atau ID cluster  | 
|  database  |  string?  |  Tidak  |  Nama basis data  | 
|  username  |  string?  |  Tidak  |  Nama pengguna database (menggunakan admin jika tidak disediakan)  | 
|  region  |  string?  |  Tidak  |  Wilayah AWS (terdeteksi secara otomatis dari nama host jika tidak disediakan)  | 
|  customCredentialsProvider  |  AwsCredentialIdentityProvider?  |  Tidak  |  Penyedia kredensi AWS kustom  | 
|  tokenDurationSecs  |  number?  |  Tidak  |  Waktu kedaluwarsa token dalam hitungan detik  | 

 Semua [opsi Postgres.js](https://github.com/porsager/postgres?tab=readme-ov-file#connection-details) standar juga 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 

## Penggunaan sampel
<a name="sample-usage"></a>

 JavaScript contoh menggunakan Aurora DSQL Connector untuk Postgres.js tersedia di. GitHub Untuk petunjuk tentang cara menjalankan contoh, lihat [direktori examples](https://github.com/awslabs/aurora-dsql-connectors/tree/main/node/postgres-js/example). 


|  Deskripsi  |  Contoh  | 
| --- | --- | 
|  Penggabungan koneksi dengan kueri bersamaan, termasuk pembuatan tabel, penyisipan, dan pembacaan di beberapa pekerja  |  [Contoh kolam koneksi (lebih disukai)](https://github.com/awslabs/aurora-dsql-connectors/blob/main/node/postgres-js/example/src/example_preferred.js)  | 
|  Operasi CRUD (buat tabel, sisipkan, pilih, hapus) tanpa penyatuan koneksi  |  [Contoh tanpa kolam koneksi](https://github.com/awslabs/aurora-dsql-connectors/blob/main/node/postgres-js/example/src/alternatives/no_connection_pool/example_with_no_connection_pool.js)  | 