AWS Lambda调用Fargate任务



我是AWS的新手,正在尝试使用AWS Lambda和Fargate。我有一个长时间运行的流程,我将其定义为AWS Fargate容器化任务。此任务是使用AWS Lambda函数的ecs.runTask(taskParams, callback)api调用触发的。Lambda函数是由文件上传到S3桶的通知触发的。

您现在可以将AWS Lambda函数配置为最多运行15个每次执行分钟数。以前,最大执行时间Lambda函数的超时时间为5分钟。(来源:亚马逊)

我的问题是,ecs.runTask()是否在按需容器内异步运行任务,而没有触发它等待完成的lambda函数?这是否解释了lambda函数不再受任务运行时间的约束?对于不需要ECS实例的长时间运行流程,这是推荐的方法吗?

最后,ecs.runTask()ecs.startTask()api调用有什么区别?

在一个按需容器内异步进行,而没有触发它等待完成的lambda函数?

是的。Lambda会直接启动它

ecs.runTask()和ecs.startTask() api调用之间的区别是什么?

startTask只能在EC2启动类型上使用,并且需要显式地选择为您的任务使用哪个EC2实例。不能用于Fargate,允许您启动单个任务。

runTask可以同时用于EC2和Fargate启动类型。当你使用runTask时,ECS决定在哪里放置你的任务,例如哪个实例。此外,您可以一次运行单个任务的多个副本。

可能有更多的不同,但我认为以上是最关键的。

最新更新