配置 Lambda 持久性函数
持久执行设置可控制 Lambda 函数的运行时长,以及服务保留执行历史记录的时长。配置这些设置,为函数启用持久执行。
启用持久执行
在创建函数时配置 DurableConfig 对象,即可设置执行超时时间与历史记录保留期限。您只能在创建函数时启用持久执行。您无法对现有函数启用它。
配置参数:
ExecutionTimeout:在 Lambda 停止执行之前,持久执行可运行的最长时间(以秒为单位)。此超时适用于整个持久执行,而非单次函数调用。有效范围:1 – 31622400。RetentionPeriodInDays:持久执行完成后,保留执行历史记录的天数。在该期限结束之后,将不再通过GetDurableExecutionHistoryAPI 提供执行历史记录。有效范围:1 – 90。
有关完整的 API 参考,请参阅《Lambda API 参考》中的 DurableConfig。
配置最佳实践
在配置持久性函数以供生产使用时,请遵循以下最佳实践:
-
设置适当的执行超时:根据工作流程的最大预期持续时间配置
ExecutionTimeout。请勿设置过长的超时时间,因为这会影响成本和资源分配。 -
平衡保留期和存储成本:根据调试和审计要求设置
RetentionPeriodInDays。延长保留期会增加存储成本。 -
监控状态大小:大型状态对象会增加存储成本并可能影响性能。保持状态信息简洁,并将大量数据存储在外部存储中。
-
配置适当的日志记录:启用详细日志记录,以便对长时间运行的工作流程进行故障排查,但要注意对日志量和成本的影响。
生产配置示例:
{ "ExecutionTimeout": 86400, "RetentionPeriodInDays": 7 }
此示例设置了 24 小时(86400 秒)的执行超时和 7 天的保留期,能够在调试可视性与生产工作负载的存储成本之间实现均衡,适用于多数业务场景。