我已经开始在我的一些服务中使用新的 AWS 版本 3 sdk。不幸的是,并不总是清楚如何使用版本 2 sdk 中提供的模块化版本 3 代码中的某些功能。
要为非模块化 sdk 设置超时,您可以执行以下操作:
AWS.config.update({
httpOptions: {
connectTimeout: 10000,
timeout: 10000
}
});
但是,当我想使用版本 3 sdk 并使用 Dynamo 客户端时,我明确尝试不使用全局 AWS 对象。据我所知,DynamoDBClient 的配置输入不接受 httpOptions,这通常是设置超时的地方。
import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
const REGION = process.env.AWS_REGION;
const v3DynamoClient: DynamoDBClient = new DynamoDBClient({ region: REGION });
如何为 AWS V3 sdk 中的 DynamoDBClient 设置超时?
This 关于升级的链接 https://github.com/aws/aws-sdk-js-v3/blob/main/UPGRADING.md似乎有一个例子,在关于httpOptions
。那里的例子有一个明显的错字。直接查看新的AWS v3代码,显然不需要指定代理(如果不通过代理则有默认值) - 所以这个例子就足够了。
// Use default Https agent, but override the socket timeout
const requestHandler = new NodeHttpHandler({
connectionTimeout: 30000,
socketTimeout: 30000,
});
const options = {
region: AWS_REGION,
maxAttempts: 2,
requestHandler, // Use handler with alternate settings for timeouts
};
export const dynamodbClient = new DynamoDBClient(options);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)