适用于 JavaScript 的 AWS SDKV3 API 参考指南详细描述了 适用于 JavaScript 的 AWS SDK 版本 3 (V3) 的所有 API 操作。
在 Node.js 中重复使用具有保持连接功能的连接
默认的 Node.js HTTP/HTTPS 代理会为每个新请求创建一个新的 TCP 连接。为了避免重建连接的成本,适用于 JavaScript 的 AWS SDK 默认会重复使用 TCP 连接。
对于短期操作(如 Amazon DynamoDB 查询),设置 TCP 连接的延迟开销可能大于操作本身。此外,由于 DynamoDB 静态加密与 AWS KMS 集成,因此您可能会遇到数据库延迟,必须为每个操作重新建立新的 AWS KMS 缓存条目。
如果您不想重复使用 TCP 连接,可以通过 keepAlive 在每个服务客户端级别,禁用重复使用这些活跃连接,如以下 DynamoDB 客户端示例所示。
import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; import { NodeHttpHandler } from "@smithy/node-http-handler"; import { Agent } from "https"; const dynamodbClient = new DynamoDBClient({ requestHandler: new NodeHttpHandler({ httpsAgent: new Agent({ keepAlive: false }) }) });
如果已启用 keepAlive,您还可以使用 keepAliveMsecs 设置 TCP Keep-Alive 数据包的初始延迟,默认值为 1000ms。有关详细信息,请参阅 Node.js 文档