无法在AWS lambda
中设置retryDelayOptions我想设置customBackOff函数来跟踪我的Kinesis lambda函数。 下面是一段代码片段。无法在AWS lambda
var AWS = require('aws-sdk');
AWS.config.update({
retryDelayOptions: {
customBackoff: function(retryCount) {
console.info('Within Retry.. ' + retryCount);
return 100;
}
}
});
根据aws文档Lambda服务支持customBackoffFuction。
链接
在AWS-SDK源代码我没有看到retryDealayOptions属性。你可以请建议我在lambda函数中设置重试策略时忽略了这里的任何内容。
AWS开发工具包无法设置此属性。 下面的代码返回retryDelayOption关键未定义的值,缺少Config.js
console.log(AWS.config.retryDelayOption);
我觉得retryDelayOption
是JavaScript的SDK中的新功能,在[email protected](2016年2月11日)增加,但尚未在Lambda中默认部署。从快速检查实验中,Lambda的[email protected](2016年1月22日)。
如果Lambda更新到2.2.35,可能需要一个月左右的时间,您将不得不捆绑并上传一个更新的SDK与Lambda一起工作。
- 你缺少
s
console.log(AWS.config.retryDelayOption
s
);
AWS lambda class
用于就像你在AWS控制台做管理您的lambda表达式。你也可以用它来运行这样的lambda。但我认为这不是你想做什么。 您可能试图在您的Lambda内部向DynamoDB写入内容,并且您的customBackoff
未触发。
从AWS config classNote: This works with all services except DynamoDB.
因为他们hardcoded retry logic for DynamoDB
在这种情况下,一般建议将使用maxRetries
您DynamoDB构造某种原因。
var dynamoDB = new AWS.DynamoDB({maxRetries: 8});
我发现maxRetries: 8
最适合我的lambda表达式。为所有重试提供关于7 sec
的信息。这完全适合我的10 sec
lambda超时