配置 Lambda 函数超时 - AWS Lambda

配置 Lambda 函数超时

在超时之前,Lambda 会在设定的时间内运行您的代码。超时是 Lambda 函数可以运行的最大时间量(以秒为单位)。此设置的默认值为 3 秒,但您可以按照 1 秒增量调整此值,最大值为 900 秒(15 分钟)。

本页介绍如何以及何时更新 Lambda 函数的超时设置。

确定 Lambda 函数的适当超时值

如果超时值接近函数的平均持续时间,则该函数意外超时的风险较高。函数的持续时间可能因数据传输和处理量以及与该函数交互的任何服务的延迟而不同。导致超时的一些常见原因包括:

  • Amazon Simple Storage Service(Amazon S3)下载量大于平均水平或需要的时间更长。

  • 一个函数向另一项服务发出请求,这需要更长的时间才能响应。

  • 提供给函数的参数要求函数具有更高的计算复杂度,这会导致调用花费更长的时间。

在测试应用程序时,请确保您的测试准确反映数据的大小和数量以及真实的参数值。为方便起见,测试通常使用少量样本,但您应该在您的工作负载合理预期值的上限使用数据集。

配置超时(控制台)

您可以在 Lambda 控制台中配置函数的超时时间。

修改函数的超时时间
  1. 打开 Lamba 控制台的 Functions(函数)页面。

  2. 选择函数。

  3. 选择配置选项卡,然后选择常规配置

    Lambda 控制台中的配置选项卡。
  4. 常规配置下,选择编辑

  5. 对于超时,设置一个介于 1 到 900 秒(15 分钟)之间的值。

  6. 选择保存

配置超时(AWS CLI)

您可以使用 update-function-configuration 命令来配置超时值,以秒为单位。以下示例命令将函数超时增加到 120 秒(2 分钟)。

aws lambda update-function-configuration \ --function-name my-function \ --timeout 120

配置超时(AWS SAM)

您可以使用 AWS Serverless Application Model 来配置函数的超时值。更新 template.yaml 文件中的 Timeout 属性,然后运行 sam deploy

例 template.yaml
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: An AWS Serverless Application Model template describing your function. Resources: my-function: Type: AWS::Serverless::Function Properties: CodeUri: . Description: '' MemorySize: 128 Timeout: 120 # Other function properties...