我在 aws 中定义了一个 ECS fargate 任务。我想根据需要偶尔运行它。
有没有简单的方法可以做到这一点?
我有 terraform 代码,将其定义为禁用的计划任务。每当我想运行它时,我的程序是:
这个过程可行,但是很不方便。当然有更好的方法来运行一次性任务吗?我尝试过使用 aws web 控制台,但情况更糟。
更新:
您现在可以使用 aws_ecs_task_execution 数据源通过 Terraform 运行 ECS 任务。
旧答案:
如果您想坚持使用调度程序来运行任务,那么像当前进程这样的东西是实现这一目标的唯一方法。然而,听起来您根本不想让任务按设定的时间表运行,而是只想在需要时运行它。
触发 ECS 任务运行的最直接方法是通过 RunTask API,您可以从 AWS CLI(您可以将其包装在 shell 脚本中)或AWS SDKs之一触发该 API。 .
您可以尝试使用 Lambda。我在一个项目中使用 boto3 编写了 Python 代码来在 AWS 中运行许多不同的任务,我非常确定 Lambda 可以解决您的问题。