node.js - 重启ECS实例中运行的任务(容器)
问题描述
需要重启在 ECS 实例中运行的容器(任务)。
我尝试使用 lambda 函数(在 CodePipeline 中)重新启动任务。stopTask 需要“任务 ID”。
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/ECS.html#stopTask-property
function stopTask(clusterName, taskId) {
console.info('Stop service: ' + clusterName + ':' + taskId);
let params = {
cluster: clusterName,
task: taskId,
};
return new AWS.ECS().stopTask(params).promise();
}
其中“taskId”不一致。如何获取基于“服务名称”和“集群名称”的 taskId,以便我可以将值传递给 stopTask
Lambda 运行时:Node.js 8.10
解决方案
您是否尝试过使用 AWS JavaScript SDK listTasks操作?
var params = {
cluster: 'default',
serviceName: 'my-service'
};
AWS.ECS().listTasks(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
推荐阅读
- alfresco - 在 Alfresco 中找不到类 org.alfresco.web.config.WebClientConfigBootstrap
- c# - 为什么 SaveFileDialog 包含韩文字符时会更改文件名?
- android - 连线内存不足:ffmpeg 库的 Java 堆空间错误
- javascript - vue js 没有正确显示 props 组件
- amazon-web-services - Terraform:如何始终为新实例生成“新鲜”的 EIP?
- python - 是否可以在 geotiff 图像与 geopandas 数据框之间建立连接?
- python - 从形状(m,n)的numpy数组创建熊猫系列
- c# - 如何使用泛型类型注册依赖注入?(.net 核心)
- json - 如何从 JSON 文件中获取特定用户?
- python-3.x - IndentationError unindent 不匹配任何外部缩进级别