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

Jad*_*d S 4 amazon-web-services aws-lambda

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

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

有没有办法从AWS控制台终止正在运行的Lambda进程?有没有办法通过AWS CLI做到这一点?

Jef*_* S. 24

根据ubi的回答,您还可以通过AWS控制台设置并发性。转到您想要停止的 Lambda,然后单击 Throttle 按钮:

在此输入图像描述

您将得到一个模式,解释并发性将设置为 0,并且不再运行 Lambda:

在此输入图像描述


ubi*_*ubi 7

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

例如

$ aws lambda put-function-concurrency --function-name my-function --reserved-concurrent-executions 0
Run Code Online (Sandbox Code Playgroud)

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

  • 虽然这个答案是正确的,并且适用于该函数的未来调用...要终止当前正在运行的 Lambda,您应该删除该函数。这是杀死当前正在运行的 Lambda 的唯一方法。如果您使用基础设施即代码,那么稍后重新创建 Lambda 应该不成问题。 (8认同)
  • 默认并发限制是多少?(编辑,nvm发现它是[默认为1000](https://aws.amazon.com/about-aws/whats-new/2017/11/set-concurrency-limits-on-individual-aws-lambda-functions /)) (2认同)

Neo*_*ist 5

为了停止我的 Lambda 函数处于无限循环中,因为我在 S3 存储桶内 ListObjects 的迭代逻辑中出错,我只是更改了 IAM 策略,该策略允许 Lambda 函数访问 S3 存储桶,导致它失败并因此中断在我的无限循环中,该循环旨在在遇到错误时从 Lambda 函数返回。