如何从AWS ECS获得基于其容器名称的任务状态?

时间:2019-10-21 22:49:51

标签: amazon-web-services amazon-ecs

我在AWS ECS Fargate上有一个任务。我需要从lambda定期触发它(假设每40分钟触发一次)。任务本身正在运行30分钟。该任务在群集而不是服务下运行。

如果现有任务正在运行,我也不想触发任务。因此,需要在lambda中检查是否存在相同的正在运行的任务。

为此,我将必须通过容器名称找到该任务。我看过boto3库API https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ecs.html。它具有一些describe_taskslist_tasks之类的API。但是他们不接受容器名称。

我能做的是:

 - list all running tasks in a cluster by calling `list_tasks` API. It gives me all running tasks' ARN. 
 - Then I have to call `describe_tasks` by iterating these ARN and search the response to see whether there is one matches the container name.

它正在工作,但是我正在寻找一个更简单的解决方案。有什么方法可以使我进行一次API调用?而且由于我的任务未在任何服务下运行。是否可以查询没有任何服务的任务?

0 个答案:

没有答案