我有法门集装箱。
现在我可以访问容器并执行命令,例如,(在本例中,我使用ls -la进行测试)
aws ecs execute-command --cluster tvn-prod-cn --container TravelDjangoContainer --interactive --command 'ls -la' --task 0e63831d80654bbb88cbcc4d002b3d4f所以,我想要做的是将这个命令设置为cron。
我的想法如下
SSM RunCommand中设置此命令RunCommand触发EventBridge有可能吗??
如何在RunCommand中设置此命令?
我用lambda做了serverless
我在谷歌上搜索并制作了这个脚本,但是它是不正确的,有人可以帮助或样本吗??
'use strict';
const AWS = require('aws-sdk')
const SSM = new AWS.SSM({region: 'ap-northeast-1'})
const REMOTE_WORKING_DIR = '/home/ec2-user'
module.exports.hello = async (event) => {
try {
let command = 'ls -la'
let params = {
DocumentName: 'AWS-RunExecScript',
Parameters: {
commands: [command],
workingDirectory: [REMOTE_WORKING_DIR]
},
CloudWatchOutputConfig: {
CloudWatchLogGroupName: 'SSMLogs',
CloudWatchOutputEnabled: true
},
TimeoutSeconds: 3600 // 1 hour
}
SSM.sendCommand(params, function(err, data){
if(err){
console.log(err, err.stack)
} else {
console.log(data)
}
});
} catch(e){
console.log(e);
};
return {
statusCode: 200,
body: JSON.stringify(
{
message: 'Go Serverless v1.0! Your function executed successfully!',
input: event,
},
null,
2
),
};
};发布于 2022-05-25 14:26:02
我将创建一个Lambda函数,它调用ECS RunCommand并使用EventBridge cron计划调度任务,而不是使用SSM 命令()来运行任务。
如果您想使用SSM RunCommand,您将需要一个EC2服务器,它可以从它运行aws ecs execute-command CLI命令,这肯定不是您想要的。
https://stackoverflow.com/questions/72379266
复制相似问题