【问题标题】:Has the AWS JS SDK REMOVED the ability to control the timeout for dynamodb operations?AWS JS SDK 是否移除了控制 dynamodb 操作超时的功能?
【发布时间】:2021-11-02 14:38:56
【问题描述】:

虽然在 dynamodb/document 客户端(使用 v2 SDK,How can the default timeout be set for AWS DocumentClient javascript SDK)设置请求超时时遇到问题,但我决定探索切换 v3 API,因为它具有一定的优势。

但是查看完整的客户端DynamoDB,更重要的是它的配置DynamoDBClientConfig,似乎没有办法控制整体的请求超时。

而 v2 接口有 httpOptions(在引用的问题中似乎不起作用)v3 配置似乎没有任何控制,甚至没有定义单个请求在超时之前可能等待多长时间(并重试,或其他)。

现在是否必须使用自定义 requestHandler 来实现? node.js 中是否有此示例代码?

【问题讨论】:

    标签: amazon-dynamodb aws-sdk-js-v3


    【解决方案1】:

    这个link about upgrading 似乎有一个例子,在关于httpOptions 的部分。那里的示例中有一个明显的错字。直接看代码,显然不需要指定代理(如果代理没有通过,则有默认值)——所以这个例子就足够了。

    // 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 DynamoDB(options);
    

    这个答案 - How do I set a timeout for AWS V3 Dynamo Clients - 还提供了建议如何执行此操作的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-10
      • 1970-01-01
      • 2019-06-17
      • 1970-01-01
      相关资源
      最近更新 更多