无法在 AWS lambda 中设置 retryDelayOptions
Not able to set retryDelayOptions in AWS lambda
我正在尝试设置 customBackOff 函数来跟踪我的 Kinesis 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 SDK 无法设置此项 属性。
以下代码 returns retryDelayOption 的未定义值,因为 Config.js
中缺少键
console.log(AWS.config.retryDelayOption);
我认为 retryDelayOption
是 Javascript SDK 的新功能,已在 aws-sdk@2.2.35(2016 年 2 月 11 日)中添加,但默认情况下尚未部署在 Lambda 中。通过快速检查实验,Lambda 有 aws-sdk@2.2.32(2016 年 1 月 22 日)。
在 Lambda 更新到 2.2.35 之前,您必须将更新的 SDK 与您的 Lambda 捆绑并上传才能正常工作,这可能需要一个月左右的时间。
- 你错过了
s
console.log(AWS.config.retryDelayOption
s
);
AWS lambda class
用于像在 AWS 控制台中一样管理您的 lambda。你也可以用它来 运行 像这样的 lambdas。但我认为这不是你想要做的。
可能您正在尝试在 Lambda 中向 DynamoDB 写入一些内容,而您的 customBackoff
没有触发。
来自 AWS config class
Note: This works with all services except DynamoDB.
出于某种原因,他们 hardcoded retry logic for DynamoDB
在这种情况下的一般建议是对 DynamoDB 构造函数使用 maxRetries
。
var dynamoDB = new AWS.DynamoDB({maxRetries: 8});
我发现 maxRetries: 8
最适合我的 lambda。为所有重试提供大约 7 sec
。这完全符合我的 10 sec
lambda 超时
aws.config.update({region:'eu-west-1',maxRetries:0,retryDelayOptions:{base:10000}});
参考:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html
我正在尝试设置 customBackOff 函数来跟踪我的 Kinesis 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 SDK 无法设置此项 属性。 以下代码 returns retryDelayOption 的未定义值,因为 Config.js
中缺少键console.log(AWS.config.retryDelayOption);
我认为 retryDelayOption
是 Javascript SDK 的新功能,已在 aws-sdk@2.2.35(2016 年 2 月 11 日)中添加,但默认情况下尚未部署在 Lambda 中。通过快速检查实验,Lambda 有 aws-sdk@2.2.32(2016 年 1 月 22 日)。
在 Lambda 更新到 2.2.35 之前,您必须将更新的 SDK 与您的 Lambda 捆绑并上传才能正常工作,这可能需要一个月左右的时间。
- 你错过了
s
console.log(AWS.config.retryDelayOption
s
);
AWS lambda class
用于像在 AWS 控制台中一样管理您的 lambda。你也可以用它来 运行 像这样的 lambdas。但我认为这不是你想要做的。
可能您正在尝试在 Lambda 中向 DynamoDB 写入一些内容,而您的 customBackoff
没有触发。
来自 AWS config class
Note: This works with all services except DynamoDB.
出于某种原因,他们 hardcoded retry logic for DynamoDB
在这种情况下的一般建议是对 DynamoDB 构造函数使用 maxRetries
。
var dynamoDB = new AWS.DynamoDB({maxRetries: 8});
我发现 maxRetries: 8
最适合我的 lambda。为所有重试提供大约 7 sec
。这完全符合我的 10 sec
lambda 超时
aws.config.update({region:'eu-west-1',maxRetries:0,retryDelayOptions:{base:10000}});
参考:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html