如何终止/终止正在运行的AWS Lambda函数?

时间:2019-03-25 10:20:59

标签: amazon-web-services aws-lambda

我有一个lambda函数,可以运行约10分钟。 Lambda相当长的时间,但鉴于我们当前的需求/设置,这是它执行我们需要做的最简单的方法。

但是,最近Lambda代码中的错误使Lambda陷入困境,而DOS基本上就是我们自己的服务器。这是我意识到如果需要的话,我不知道如何终止此过程(vs等待它结束/超时)。所以...

是否可以通过AWS控制台终止正在运行的Lambda进程?是否可以通过AWS CLI做到这一点?

3 个答案:

答案 0 :(得分:4)

无法杀死正在运行的Lambda。但是,您可以将并发限制设置为0,以阻止它开始执行其他操作

例如

$ aws lambda put-function-concurrency --function-name my-function --reserved-concurrent-executions 0

https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html

答案 1 :(得分:1)

ubi's 回答开始,您还可以通过 AWS 控制台设置并发。转到要停止的 Lambda 并单击“节流”按钮:

enter image description here

您将获得一个模式,说明并发性将设置为 0 并且不再运行 Lambda:

enter image description here

答案 2 :(得分:0)

要停止处于无限循环的Lambda函数,因为我对其S3存储桶中的ListObjects的迭代逻辑有错误,我只是更改了IAM策略,该策略使Lambda函数可以访问S3存储桶而导致失败因此打破了我的无限循环,该循环旨在在遇到错误时从Lambda函数返回。