AWS node.js在失败的batchWrite()上自动重试
根据这个aws doc http://docs.aws.amazon.com/general/latest/gr/api-retries.html自动重试function是build立在aws sdk在我的情况node.js aws sdk。 我像这样configuration了DocumentClient对象:
var dynamodb = new AWS.DynamoDB.DocumentClient({region: 'us-west-2', retryDelayOptions: {base: 50}, maxRetries: 20});
但我仍然不能让它自动重试我。 我想要自动重试所有的UnprocessedItems。 你能指出我的错误在哪里吗?
谢谢
AWS客户端SDK都具有内置的重试机制,但是这些重试是在请求级别。 这意味着任何被服务器拒绝的具有500级错误的请求,或者在某些情况下,400级的限制错误将根据configuration的设置自动重试。
你所要求的是没有内置到SDK中的业务层重试行为。 UnprocessedItems集合包含由于各种原因被服务拒绝的项目,您必须编写自己的逻辑来处理这些项目。
retryDelayOptions
和maxRetries
是maxRetries
上的选项。 DocumentClient必须通过设置DynamoDB服务进行configuration。
var dynamodb = new AWS.DynamoDB({maxRetries: 5, retryDelayOptions: {base: 300} }); var docClient = new AWS.DynamoDB.DocumentClient({service : dynamodb});
- KeyConditionExpression错误和空错误响应
- 如何使用Lambda和DynamoDB在date范围之间扫描?
- DynamoDB Local在closures实例后删除数据
- 将ConditionalOperator设置为OR的DynamoDB扫描仍在执行AND
- 在nodejs中的dynamodb中进行扫描的recursion函数
- AWS SDK与DynamoDB和putItem有关
- 使用nodejs Dynamodb创build表?
- 发电机数据库错误无效ProjectionExpression:文档path中使用的expression式属性名称未定义; 属性名称:#P
- 将项目放在使用适用于Node.js的AWS开发工具包的DynamoDB表上