我想使用AWS Lambda在弹性beantalk实例中重新启动应用程序服务器。
经过广泛的搜索并且什么都没找到之后,我终于找到了一篇我现在丢失的文章,其中描述了如何做我想做的事情。我使用它来设置Lambda函数和EventBridge cron计划以运行该函数。查看事件桥的cloudwatch日志,可以看到该函数已成功运行。但是,它绝对不会重新启动我的应用服务器。当我使用控制台按钮重新启动时,我使用另一个cron提取的数据将得到更新,并且可以在主页更新中看到日期。尽管应该运行lambda函数,但这不会发生。
这是我的功能:
const AWS = require('aws-sdk');
const eb = new AWS.ElasticBeanstalk({apiVersion: '2010-12-01'});
exports.handler = async (event) => {
const params = {
EnvironmentName: 'my-prod-environment'
};
eb.restartAppServer(params, function(err, data) {
if (err) {
console.log(err, err.stack);
return err;
}
else {
console.log(data);
return data;
}
});
};
不幸的是,原木什么也没告诉我。尽管使用console.log语句,但日志中未显示任何错误或数据,因此我不知道该功能是否已完成。有谁知道为什么这行不通?