我有一个简单的lambda函数,它检查实例状态但是超时。我将超时设置为2分钟。该角色拥有EC2的所有权限。
ec2.waitFor('instanceRunning', {InstanceIds: ['someinstanceid'], DryRun:true}, function(err, data) {
if (err)
{
console.log(err);
context.fail(err);
}
else
{
console.log(data);
context.succeed(data);
}
});
答案 0 :(得分:0)
对于那些乘坐google来到这里的人:
可以像这样配置waitFor
的行为:
let params = {
InstanceIds: ["i-1234567890"],
//Waiter configuration
$waiter: {
maxAttempts : 1000,
delay: 10
}
};
EC2.waitFor("instanceRunning", params, function(error, data){
/***/
}.bind(this));
这里我将检查延迟配置为10秒,最多1000次尝试,即166分钟。
请注意,所有maxAttempts
都需要失败,因此您知道该实例实际上无法启动,因此您可能需要仔细使用它。