Run a task on ECS and receive output by sending task logs to Cloudwatch Logs and streaming them back to you.
For cli usage: npm install -g ecs-task-runner
As a module: npm install ecs-task-runner --save
ECS Task Runner requires an already existing ECS cluster and Task Definition. The Task Definition must send it's logs to AWS Cloudwatch and the ECS hosts will need an IAM role that has permission to do that.
Options:
--cluster [required]
--task-definition [required]
--container-name [required]
--cmd [required]
The arn of your ECS Cluster
The arn of your ECS Task Definition
The name of your container in your Task Definition that you want to run this command in
The command you want to run
var ecsTaskRunner = require('ecs-task-runner');
var options = {
clusterArn: 'xxx',
taskDefinitionArn: 'xxx',
containerName: 'xxx',
cmd: 'echo hello'
};
ecsTaskRunner(options, function(err, stream) {
if (err) throw err;
stream.pipe(process.stdout);
stream.on('error', (err) => {
throw err;
});
});