Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Driver Amazon QLDB untuk Node.js - Amazon Quantum Ledger Database (Amazon QLDB)

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

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

penting

Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat Memigrasi Buku Besar QLDB Amazon ke Amazon Aurora PostgreSQL.

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:

  1. Ikuti instruksi AWS pengaturan diMengakses Amazon QLDB. Ini termasuk yang berikut:

    1. Mendaftar untuk AWS.

    2. Buat pengguna dengan izin QLDB yang sesuai.

    3. Memberikan akses terprogram untuk pengembangan.

  2. 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.)

  3. Konfigurasikan lingkungan pengembangan Anda untuk AWS SDK untuk JavaScript di Node.js:

    1. Siapkan AWS kredensil Anda. Sebaiknya buat file kredensial bersama.

      Untuk petunjuknya, lihat Memuat kredensi di Node.js dari file kredensial bersama di Panduan Pengembang.AWS SDK for JavaScript

    2. Tetapkan default Anda Wilayah AWS. Untuk mempelajari caranya, lihat Mengatur Wilayah AWS.

      Untuk daftar lengkap Wilayah yang tersedia, lihat titik akhir dan kuota Amazon QLDB di bagian. Referensi Umum AWS

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. Penginstalan

  • Untuk menyiapkan proyek dan menjalankan contoh kode pendek yang menunjukkan transaksi data dasar pada buku besar, lihat. Tutorial mulai cepat

  • Untuk menjalankan contoh yang lebih mendalam dari operasi API data dan manajemen dalam aplikasi contoh tutorial lengkap, lihat. Tutorial Node.js

Penginstalan

QLDB mendukung versi driver berikut dan dependensi Node.js mereka.

Versi Driver Versi Node.js Status Tanggal rilis terbaru
1.x 10.x atau lebih baru Rilis produksi 5 Juni 2020
2.x 10.x atau lebih baru Rilis produksi 6 Mei 2021
3.x 14.x atau lebih baru Rilis produksi 10 November 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
npm install amazon-qldb-driver-nodejs

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

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

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 dan Wilayah 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); });
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); });

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

QLDB Node.js driver v3

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

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:

    • keepAlivetrue

    • maxSockets— Nilai yang sama 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({ "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

    catatan

    Jika Anda mengatur variabel lingkungan ini, itu mempengaruhi semua Layanan AWS yang menggunakan AWS SDK for JavaScript.

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:

    • keepAlivetrue

    • maxSockets— Nilai yang sama 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({ "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);
    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);
  • 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

    catatan

    Jika Anda mengatur variabel lingkungan ini, itu mempengaruhi semua Layanan AWS yang menggunakan AWS SDK for JavaScript.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.