本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
适用于 Node.js 的 Amazon QLDB 驱动程序
重要
终止支持通知:现有客户将能够使用 Amazon QLDB,直到 2025 年 7 月 31 日终止支持。有关更多详细信息,请参阅将亚马逊 QLDB 账本迁移到亚马逊 Aurora PostgreSQL
要处理账本中的数据,您可以使用提供的驱动程序从 Node.js 应用程序连接到 Amazon QLDB。 AWS 以下主题介绍了如何开始使用 Node.js 上 QLDB 驱动程序。
驱动程序资源
有关 Node.js 驱动程序支持功能的更多信息,请参阅以下资源:
先决条件
开始使用适用于 Node.js 的 QLDB 驱动程序之前,您必须执行以下操作:
-
按照中的 AWS 设置说明进行操作访问 Amazon QLDB。这包括以下这些:
-
报名参加 AWS.
-
创建具有适当 QLDB 权限的用户。
-
授权以编程方式访问开发。
-
-
从 Node.js 下载
网站安装 Node.js 14.x 或更高版本。(该驱动程序先前版本支持 Node.js 版本 10.x 或更高版本。) -
在 Node.js JavaScript 中为AWS SDK
配置开发环境: -
设置您的 AWS 凭证。我们建议创建共享的凭证文件。
有关说明,请参阅AWS SDK for JavaScript 开发指南中的从共享凭据文件加载 Node.js 中的凭据。
-
设置您的默认 AWS 区域。要了解如何使用,请参阅 设置 AWS 区域。
有关可用区域的完整列表,请参阅 AWS 一般参考 中的 Amazon QLDB 端点和限额。
-
接下来,您可下载完整的教程示例应用程序,也可以只在 Node.js 项目中安装驱动程序并运行短代码示例。
-
要在现有项目中安装 Node.js 中的 QLDB 驱动程序和 AWS JavaScript SDK,请继续。安装
-
要设置项目并运行演示分类账上基本数据事务的简短代码示例,请参阅 快速入门教程。
-
要在完整的教程示例应用程序中运行更深入的数据和管理 API 操作示例,请参阅 Node.js 教程。
安装
QLDB 支持以下驱动程序版本及其 Node.js 依赖项。
要使用 npm(Node.js 包管理器)
npm install amazon-qldb-driver-nodejs
驱动程序对以下软件包具有对等依赖项。您还必须将这些软件包作为依赖项安装至项目中。
模块化聚合 QLDB 客户端(管理 API)
npm install @aws-sdk/client-qldb
模块化聚合 QLDB 会话客户端(数据 API)
npm install @aws-sdk/client-qldb-session
Amazon Ion 数据格式
npm install ion-js
纯粹的 JavaScript 实现 BigInt
npm install jsbi
使用驱动程序连接至分类账
然后,您可以导入驱动程序,并使用它来连接到分类账。以下 TypeScript 代码示例说明如何为指定的账本名称和创建驱动程序实例 AWS 区域。
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);
});
有关如何在分类账上运行基本数据交易的简短代码示例,请参阅 说明书参考。
设置建议
重复使用具有保持连接功能的连接
默认的 Node.js HTTP/HTTPS 代理会为每个新请求创建一个新的 TCP 连接。为了避免重建连接的成本, AWS SDK for JavaScript v3 默认会重复使用 TCP 连接。有关更多信息以及如何禁用 “重用” 连接,请参阅AWS SDK for JavaScript 开发人员指南中的在 Node.js 中通过 keep-alive 重用连接。
我们建议使用默认设置来重用 Node.js 的 QLDB 驱动程序中的连接。在驱动程序初始化期间,将低级客户端 HTTP 选项 maxSockets
设置为maxConcurrentTransactions
与您设置的值相同。
例如,请参阅以下内容 JavaScript 或 TypeScript 代码。
默认的 Node.js HTTP/HTTPS 代理会为每个新请求创建一个新的 TCP 连接。为了节省建立新连接的成本,建议重复使用现有的连接。
要重用 Node.js 的 QLDB 驱动程序中的连接,请使用以下选项之一:
-
在驱动程序初始化时,设置以下低级客户端 HTTP 选项:
-
keepAlive
–true
-
maxSockets
— 与您设置的maxConcurrentTransactions
值相同
例如,请参阅以下内容 JavaScript 或 TypeScript 代码。
-
-
或者,您也可以设置
AWS_NODEJS_CONNECTION_REUSE_ENABLED
环境变量为1
。有关示例,请参阅 AWS SDK for JavaScript 开发人员指南 中的在 Node.js 中重复使用具有保持连接功能的连接。注意
如果您设置此环境变量,它将影响所有使用 AWS SDK for JavaScript的 AWS 服务 。