View a markdown version of this page

Configuración de las funciones duraderas de Lambda - AWS Lambda

Configuración de las funciones duraderas de Lambda

La configuración de ejecución duradera determina cuánto tiempo puede ejecutarse una función de Lambda y cuánto tiempo el servicio retiene el historial de ejecución. Configure estos ajustes para permitir la ejecución duradera de la función.

Habilitación de la ejecución duradera

Configure el objeto DurableConfig al crear la función para establecer el tiempo de espera de ejecución y la retención del registro. Solo puede habilitar la ejecución duradera cuando crea una función. No puede habilitarla en las funciones existentes.

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

Parámetros de configuración:

  • ExecutionTimeout: tiempo máximo, en segundos, que una ejecución duradera puede ejecutarse antes de que Lambda la detenga. Este tiempo de espera se aplica a toda la ejecución duradera, no a las invocaciones individuales de funciones. Rango válido: de 1 a 31622400.

  • RetentionPeriodInDays: el número de días que se deben retener en el historial de ejecución una vez completada la ejecución duradera. Después de este periodo, el historial de ejecución ya no está disponible a través de la API GetDurableExecutionHistory. Rango válido: de 1 a 90.

Para obtener la referencia completa de la API, consulte DurableConfig en la Referencia de la API de Lambda.

Prácticas recomendadas de configuración

Siga estas prácticas recomendadas cuando configure funciones duraderas para uso en producción:

  • Establezca los tiempos de espera de ejecución adecuados: configure ExecutionTimeout en función de la duración máxima esperada de su flujo de trabajo. No establezca tiempos de espera innecesariamente prolongados, ya que afectan la asignación de costos y recursos.

  • Equilibre la retención con los costos de almacenamiento: configure RetentionPeriodInDays en función de sus requisitos de depuración y auditoría. Los períodos de retención más prolongados aumentan los costos de almacenamiento.

  • Supervise el tamaño del estado: los objetos de estado grandes aumentan los costos de almacenamiento y pueden afectar el rendimiento. Mantenga el estado mínimo y utilice almacenamiento externo para datos de gran tamaño.

  • Configure el registro adecuado: habilite el registro detallado para solucionar problemas de flujos de trabajo de larga duración, pero tenga en cuenta el impacto en el volumen y los costos del registro.

Ejemplo de configuración de producción:

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

En este ejemplo, se establece un tiempo de espera de ejecución de 24 horas (86 400 segundos) con un periodo de retención de 7 días, lo que equilibra la visibilidad de la depuración con los costos de almacenamiento para la mayoría de las cargas de trabajo de producción.