AWS node.js在失败的batchWrite()上自动重试

Pla*_*kov 4 amazon-web-services node.js amazon-dynamodb

根据这个aws文档http://docs.aws.amazon.com/general/latest/gr/api-retries.html自动重试功能是在我的案例node.js aws sdk中的aws sdk中构建的.我像这样配置了DocumentClient对象:

var dynamodb = new AWS.DynamoDB.DocumentClient({region: 'us-west-2', retryDelayOptions: {base: 50}, maxRetries: 20});

但我仍然不能让它自动重试我.我想自动重试所有UnprocessedItems.你能指出我的错误在哪里吗?

谢谢

not*_*est 7

retryDelayOptionsmaxRetries存在于AWS.DynamoDB的选项.必须通过设置DynamoDB服务来配置DocumentClient.

var dynamodb = new AWS.DynamoDB({maxRetries: 5, retryDelayOptions: {base: 300} });
var docClient = new AWS.DynamoDB.DocumentClient({service : dynamodb});
Run Code Online (Sandbox Code Playgroud)


Mik*_*scu 5

AWS 客户端开发工具包都有内置的重试机制,但这些重试是在请求级别。这意味着任何因 500 级错误而被服务器拒绝的请求,或者在某些情况下,400 级限制错误将根据配置的设置自动重试。

您要求的是未内置于 SDK 中的业务层重试行为。UnprocessedItems 集合包含因各种原因被服务拒绝的项目,您必须编写自己的逻辑来处理这些项目。