Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Driver Amazon QLDB untuk Node.js
Untuk bekerja dengan data dalam buku besar Anda, Anda dapat terhubung ke Amazon QLDB dari aplikasi Node.js Anda dengan menggunakan driver yang disediakan. AWS Topik berikut menjelaskan cara memulai dengan driver QLDB untuk Node.js.
Sumber daya pengemudi
Untuk informasi selengkapnya tentang fungsionalitas yang didukung oleh driver Node.js, lihat sumber daya berikut:
Prasyarat
Sebelum Anda memulai dengan driver QLDB untuk Node.js, Anda harus melakukan hal berikut:
-
Ikuti instruksi AWS pengaturan diMengakses Amazon QLDB. Ini termasuk yang berikut:
-
Daftar ke AWS.
-
Buat pengguna dengan izin QLDB yang sesuai.
-
Memberikan akses terprogram untuk pengembangan.
-
Instal Node.js versi 14.x atau yang lebih baru dari situs unduhan Node.js. (Versi driver sebelumnya mendukung Node.js versi 10.x atau yang lebih baru.)
-
Konfigurasikan lingkungan pengembangan Anda untuk AWSSDK untuk JavaScript di Node.js:
Selanjutnya, Anda dapat mengunduh aplikasi contoh tutorial lengkap—atau Anda hanya dapat menginstal driver dalam proyek Node.js dan menjalankan contoh kode pendek.
-
Untuk menginstal driver QLDB dan SDK JavaScript untuk AWS di Node.js dalam proyek yang ada, lanjutkan ke. Instalasi
-
Untuk menyiapkan proyek dan menjalankan contoh kode pendek yang menunjukkan transaksi data dasar pada buku besar, lihat. Tutorial Quick Start
-
Untuk menjalankan contoh yang lebih mendalam dari operasi API data dan manajemen dalam aplikasi contoh tutorial lengkap, lihat. Node.js tutorial
Instalasi
QLDB mendukung versi driver berikut dan dependensi Node.js mereka.
Versi Driver |
Versi Node.js |
Status |
Tanggal rilis terbaru |
1.x |
10.x atau yang lebih baru |
Rilis produksi |
5 Juni 2020 |
2.x |
10.x atau yang lebih baru |
Rilis produksi |
6 Mei 2021 |
3.x |
14.x atau lebih baru |
Rilis produksi |
November 10, 2023 |
Untuk menginstal driver QLDB menggunakan npm (manajer paket Node.js), masukkan perintah berikut dari direktori root proyek Anda.
- 3.x
-
npm install amazon-qldb-driver-nodejs
- 2.x
-
npm install amazon-qldb-driver-nodejs@2.2.0
- 1.x
-
npm install amazon-qldb-driver-nodejs@1.0.0
Driver memiliki dependensi peer pada paket-paket berikut. Anda juga harus menginstal paket-paket ini sebagai dependensi dalam proyek Anda.
- 3.x
-
Klien QLDB agregat modular (API manajemen)
npm install @aws-sdk/client-qldb
Klien Sesi QLDB agregat modular (API data)
npm install @aws-sdk/client-qldb-session
Format data Amazon Ion
npm install ion-js
JavaScript Implementasi murni BigInt
npm install jsbi
- 2.x
-
AWS SDK for JavaScript
npm install aws-sdk
Format data Amazon Ion
npm install ion-js@4.0.0
JavaScript Implementasi murni BigInt
npm install jsbi@3.1.1
- 1.x
-
AWS SDK for JavaScript
npm install aws-sdk
Format data Amazon Ion
npm install ion-js@4.0.0
JavaScript Implementasi murni BigInt
npm install jsbi@3.1.1
Menggunakan driver untuk terhubung ke buku besar
Kemudian Anda dapat mengimpor driver dan menggunakannya untuk terhubung ke buku besar. Contoh TypeScript kode berikut menunjukkan cara membuat instance driver untuk nama buku besar tertentu danWilayah AWS.
- 3.x
-
import { Agent } from 'https';
import { QLDBSessionClientConfig } from "@aws-sdk/client-qldb-session";
import { QldbDriver, RetryConfig } from 'amazon-qldb-driver-nodejs';
import { NodeHttpHandlerOptions } from "@aws-sdk/node-http-handler";
const maxConcurrentTransactions: number = 10;
const retryLimit: number = 4;
//Reuse connections with keepAlive
const lowLevelClientHttpOptions: NodeHttpHandlerOptions = {
httpAgent: new Agent({
maxSockets: maxConcurrentTransactions
})
};
const serviceConfigurationOptions: QLDBSessionClientConfig = {
region: "us-east-1"
};
//Use driver's default backoff function for this example (no second parameter provided to RetryConfig)
const retryConfig: RetryConfig = new RetryConfig(retryLimit);
const qldbDriver: QldbDriver = new QldbDriver("testLedger", serviceConfigurationOptions, lowLevelClientHttpOptions, maxConcurrentTransactions, retryConfig);
qldbDriver.getTableNames().then(function(tableNames: string[]) {
console.log(tableNames);
});
- 2.x
-
import { Agent } from 'https';
import { QldbDriver, RetryConfig } from 'amazon-qldb-driver-nodejs';
const maxConcurrentTransactions: number = 10;
const retryLimit: number = 4;
//Reuse connections with keepAlive
const agentForQldb: Agent = new Agent({
keepAlive: true,
maxSockets: maxConcurrentTransactions
});
const serviceConfigurationOptions = {
region: "us-east-1",
httpOptions: {
agent: agentForQldb
}
};
//Use driver's default backoff function for this example (no second parameter provided to RetryConfig)
const retryConfig: RetryConfig = new RetryConfig(retryLimit);
const qldbDriver: QldbDriver = new QldbDriver("testLedger", serviceConfigurationOptions, maxConcurrentTransactions, retryConfig);
qldbDriver.getTableNames().then(function(tableNames: string[]) {
console.log(tableNames);
});
- 1.x
-
import { Agent } from 'https';
import { QldbDriver } from 'amazon-qldb-driver-nodejs';
const poolLimit: number = 10;
const retryLimit: number = 4;
//Reuse connections with keepAlive
const agentForQldb: Agent = new Agent({
keepAlive: true,
maxSockets: poolLimit
});
const serviceConfigurationOptions = {
region: "us-east-1",
httpOptions: {
agent: agentForQldb
}
};
const qldbDriver: QldbDriver = new QldbDriver("testLedger", serviceConfigurationOptions, retryLimit, poolLimit);
qldbDriver.getTableNames().then(function(tableNames: string[]) {
console.log(tableNames);
});
Untuk contoh kode singkat tentang cara menjalankan transaksi data dasar pada buku besar, lihat. Referensi buku masak
Rekomendasi pengaturan
Menggunakan kembali koneksi dengan keep-alive
Agen HTTP/HTTPS Node.js default membuat koneksi TCP baru untuk setiap permintaan baru. Untuk menghindari biaya membuat koneksi baru, AWS SDK for JavaScript v3 menggunakan kembali koneksi TCP secara default. Untuk informasi selengkapnya dan mempelajari cara menonaktifkan penggunaan kembali koneksi, lihat Menggunakan kembali koneksi dengan keep-alive di Node.js di Panduan Pengembang. AWS SDK for JavaScript
Sebaiknya gunakan pengaturan default untuk menggunakan kembali koneksi di driver QLDB untuk Node.js. Selama inisialisasi driver, atur opsi HTTP klien tingkat rendah maxSockets
ke nilai yang sama dengan yang Anda tetapkan. maxConcurrentTransactions
Misalnya, lihat TypeScript kode JavaScript atau kode berikut.
- JavaScript
-
const qldb = require('amazon-qldb-driver-nodejs');
const https = require('https');
//Replace this value as appropriate for your application
const maxConcurrentTransactions = 50
;
const agentForQldb = new https.Agent({
//Set this to the same value as `maxConcurrentTransactions`(previously called `poolLimit`)
//Do not rely on the default value of `Infinity`
"maxSockets": maxConcurrentTransactions
});
const lowLevelClientHttpOptions = {
httpAgent: agentForQldb
}
let driver = new qldb.QldbDriver("testLedger", undefined, lowLevelClientHttpOptions, maxConcurrentTransactions);
- TypeScript
-
import { Agent } from 'https';
import { NodeHttpHandlerOptions } from "@aws-sdk/node-http-handler";
import { QldbDriver } from 'amazon-qldb-driver-nodejs';
//Replace this value as appropriate for your application
const maxConcurrentTransactions: number = 50
;
const agentForQldb: Agent = new Agent({
//Set this to the same value as `maxConcurrentTransactions`(previously called `poolLimit`)
//Do not rely on the default value of `Infinity`
maxSockets: maxConcurrentTransactions
});
const lowLevelClientHttpOptions: NodeHttpHandlerOptions = {
httpAgent: agentForQldb
};
let driver = new QldbDriver("testLedger", undefined, lowLevelClientHttpOptions, maxConcurrentTransactions);
Agen HTTP/HTTPS Node.js default membuat koneksi TCP baru untuk setiap permintaan baru. Untuk menghindari biaya pembuatan koneksi baru, kami sarankan untuk menggunakan kembali koneksi yang ada.
Untuk menggunakan kembali koneksi di driver QLDB untuk Node.js, gunakan salah satu opsi berikut:
-
Selama inisialisasi driver, atur opsi HTTP klien tingkat rendah berikut:
Misalnya, lihat TypeScript kode JavaScript atau kode berikut.
- JavaScript
-
const qldb = require('amazon-qldb-driver-nodejs');
const https = require('https');
//Replace this value as appropriate for your application
const maxConcurrentTransactions = 50
;
const agentForQldb = new https.Agent({
"keepAlive": true,
//Set this to the same value as `maxConcurrentTransactions`(previously called `poolLimit`)
//Do not rely on the default value of `Infinity`
"maxSockets": maxConcurrentTransactions
});
const serviceConfiguration = { "httpOptions": {
"agent": agentForQldb
}};
let driver = new qldb.QldbDriver("testLedger", serviceConfiguration, maxConcurrentTransactions);
- TypeScript
-
import { Agent } from 'https';
import { ClientConfiguration } from 'aws-sdk/clients/acm';
import { QldbDriver } from 'amazon-qldb-driver-nodejs';
//Replace this value as appropriate for your application
const maxConcurrentTransactions: number = 50
;
const agentForQldb: Agent = new Agent({
keepAlive: true,
//Set this to the same value as `maxConcurrentTransactions`(previously called `poolLimit`)
//Do not rely on the default value of `Infinity`
maxSockets: maxConcurrentTransactions
});
const serviceConfiguration: ClientConfiguration = { httpOptions: {
agent: agentForQldb
}};
let driver = new QldbDriver("testLedger", serviceConfiguration, maxConcurrentTransactions);
-
Atau, Anda dapat mengatur variabel AWS_NODEJS_CONNECTION_REUSE_ENABLED
lingkungan ke1
. Untuk informasi selengkapnya, lihat Menggunakan Kembali Koneksi dengan Keep-Alive di Node.js di Panduan Pengembang. AWS SDK for JavaScript
Jika Anda mengatur variabel lingkungan ini, itu mempengaruhi semua Layanan AWS yang menggunakanAWS SDK for JavaScript.