

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

# 設定 Lambda 耐用函數
<a name="durable-configuration"></a>

持久性執行設定可控制 Lambda 函數可執行的時間長度，以及服務保留執行歷史記錄的時間長度。設定這些設定，為您的函數啟用持久性執行。

## 啟用持久性執行
<a name="durable-config-settings"></a>

在建立函數時設定 `DurableConfig` 物件，以設定執行逾時和歷史記錄保留。您只能在建立函數時啟用持久性執行。您無法在現有函數上啟用它。

------
#### [ AWS CLI ]

```
aws lambda create-function \
  --function-name my-durable-function \
  --runtime nodejs24.x \
  --role arn:aws:iam::123456789012:role/my-durable-role \
  --handler index.handler \
  --zip-file fileb://function.zip \
  --durable-config '{"ExecutionTimeout": 3600, "RetentionPeriodInDays": 30}'
```

------
#### [ CloudFormation ]

```
Resources:
  MyDurableFunction:
    Type: AWS::Lambda::Function
    Properties:
      FunctionName: my-durable-function
      Runtime: nodejs24.x
      Handler: index.handler
      Code:
        ZipFile: |
          // Your durable function code
      DurableConfig:
        ExecutionTimeout: 3600
        RetentionPeriodInDays: 30
```

------

**組態參數：**
+ `ExecutionTimeout` – 在 Lambda 停止執行之前，耐久執行可以執行的時間上限，以秒為單位。此逾時適用於整個持久性執行，而非個別函數叫用。有效範圍：1–31622400。
+ `RetentionPeriodInDays` – 持久性執行完成後保留執行歷史記錄的天數。在此期間之後，將無法再透過 `GetDurableExecutionHistory` API 使用執行歷史記錄。有效範圍：1–90。

如需完整的 API 參考，請參閱 Lambda API 參考中的 [DurableConfig](https://docs.aws.amazon.com/lambda/latest/api/API_DurableConfig.html)。

## 設定最佳實務
<a name="durable-config-best-practices"></a>

設定生產用途的耐用函數時，請遵循下列最佳實務：
+ **設定適當的執行逾時** – `ExecutionTimeout` 根據工作流程的預期持續時間上限來設定 。請勿設定不必要的長逾時，因為它們會影響成本和資源配置。
+ **平衡保留與儲存成本** – `RetentionPeriodInDays`根據您的偵錯和稽核需求進行設定。較長的保留期會增加儲存成本。
+ **監控狀態大小** – 大型狀態物件會增加儲存成本，並可能影響效能。將狀態降至最低，並針對大型資料使用外部儲存。
+ **設定適當的記錄** – 啟用詳細記錄，以針對長時間執行的工作流程進行故障診斷，但請考慮對日誌磁碟區和成本的影響。

**生產組態範例：**

```
{
  "ExecutionTimeout": 86400,
  "RetentionPeriodInDays": 7
}
```

此範例會設定 24 小時 (86，400 秒） 執行逾時與 7 天的保留期，在偵錯可見性與大多數生產工作負載的儲存成本之間取得平衡。