設定 Lambda 函數逾時 - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定 Lambda 函數逾時

Lambda 會在逾時之前執行程式碼一段設定的時間。逾時為 Lambda 函數可以執行的最長時間,以秒為單位。此設定的預設值為 3 秒,但您可以調整此值,以 1 秒為單位,最大值為 900 秒 (15 分鐘)。

此頁面說明如何及何時更新 Lambda 函數的逾時設定。

確定 Lambda 函數的適當逾時值

如果逾時值接近函數的平均持續時間,則函數意外逾時的風險更高。函數的持續時間會有所不同,這取決於資料傳輸和處理量,以及函數與之互動的任何服務的延遲。逾時的一些常見原因包括:

  • Amazon Simple Storage Service (Amazon S3) 中的下載量比平均水平更大或耗時更長。

  • 函數會向另一個服務提出請求,這需要更長的時間才能回應。

  • 提供給函數的參數要求函數具有更高的運算複雜性,這會導致調用時間更長。

測試應用程式時,請確保測試可準確反映資料的大小和數量以及真實的參數值。為了方便起見,測試通常會使用小型範例,但您應該使用工作負載合理預期上限的資料集。

設定逾時 (主控台)

可以在 Lambda 主控台中設定函數逾時。

若要修改函數的逾時
  1. 開啟 Lambda 主控台中的 函數頁面

  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 部署

範例 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...