Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Reiniciar las ejecuciones de máquinas de estado con redrive en Step Functions

Modo de enfoque
Reiniciar las ejecuciones de máquinas de estado con redrive en Step Functions - AWS Step Functions

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Puede usar… redrive para reiniciar las ejecuciones de flujos de trabajo estándar que no se hayan completado correctamente en los últimos 14 días. Estas incluyen las ejecuciones con error, anuladas o que hayan agotado su tiempo de espera.

Cuando redrive una ejecución, Step Functions continúa la ejecución fallida del paso fallido y utiliza la misma entrada. Step Functions conserva los resultados y el historial de ejecución de los pasos correctos, que no se vuelven a ejecutar cuando se ejecuta redrive una ejecución. Por ejemplo, supongamos que el flujo de trabajo contiene dos estados: un estado Estado Pass de un flujo de trabajo seguido de un estado Estado de un flujo de trabajo de tarea. Si la ejecución de su flujo de trabajo falla en el estado Tarea, y usted redrive la ejecución, la ejecución reprograma y, a continuación, vuelve a ejecutar el estado de la tarea.

Redriven las ejecuciones utilizan la misma definición de máquina de estado y el mismo ARN de ejecución que se usaron para el intento de ejecución original. Si el intento de ejecución original estaba asociado a una versión, un alias o ambos, redriven la ejecución está asociada a la misma versión, alias o a ambos. Incluso si actualizas tu alias para que apunte a una versión diferente, el redriven la ejecución sigue utilizando la versión asociada al intento de ejecución original. Porque redriven las ejecuciones utilizan la misma definición de máquina de estados, debe iniciar una nueva ejecución si actualiza la definición de máquina de estados.

Cuando redrive en una ejecución, el tiempo de espera a nivel de máquina de estados, si está definido, se restablece a 0. Para obtener más información acerca del tiempo de espera a nivel de máquina de estado, consulte TimeoutSeconds.

Ejecución redrives se consideran transiciones de estado. Para obtener información sobre cómo las transiciones de estado afectan a la facturación, consulte Precios de Step Functions

Redrive elegibilidad para ejecuciones fallidas

Usted puede redrive se ejecuta si el intento de ejecución original cumple las siguientes condiciones:

  • Comenzó la ejecución el 15 de noviembre de 2023 o después de esa fecha. Las ejecuciones que hayas iniciado antes de esta fecha no son aptas redrive.

  • El estado de la ejecución no es SUCCEEDED.

  • La ejecución del flujo de trabajo no ha superado el redrivable período de 14 días. Redrivable período se refiere al tiempo durante el cual puede redrive una ejecución determinada. Este período comienza el día en que una máquina de estado completa su ejecución.

  • La ejecución del flujo de trabajo no ha superado el tiempo máximo de apertura de un año. Para obtener información sobre las cuotas estatales de ejecución de máquinas, consulte Cuotas relacionadas con ejecuciones de máquinas de estado.

  • El recuento del historial de eventos de ejecución es inferior a 24.999. Redriven las ejecuciones añaden su historial de eventos al historial de eventos existente. Asegúrese de que la ejecución del flujo de trabajo contenga menos de 24 999 eventos para incluir el evento del historial de ExecutionRedriven y al menos otro evento del historial.

Redrive comportamiento de los estados individuales

En función del estado en el que se produjo el error en el flujo de trabajo, redrive el comportamiento de todos los estados fallidos varía. En la siguiente tabla se describe la redrive comportamiento de todos los estados.

Nombre de estado Redrive comportamiento de ejecución
Estado Pass de un flujo de trabajo

Si se produce un error en un paso anterior o se agota el tiempo de espera de la máquina de estados, se cierra el estado de paso y no se ejecuta redrive.

Estado de un flujo de trabajo de tarea

Programa y vuelve a iniciar el estado Task.

Cuando redrive una ejecución que vuelve a ejecutar un estado de tarea, el TimeoutSeconds estado del estado, si está definido, se restablece a 0. Para obtener más información acerca del tiempos de espera, consulte estado Tarea.

Estado del flujo de trabajo de elección Vuelve a evaluar las reglas del estado Choice.
Estado Wait de un flujo de trabajo

Si el estado especifica Timestamp o TimestampPath hace referencia a una marca temporal del pasado, redrive hace que se salga del estado de espera e introduce el estado especificado en el campo. Next

Estado Succeed de un flujo de trabajo

No redrive declara las ejecuciones automáticas que entran en el estado Succeed.

Estado de flujo de trabajo con error

Vuelve a entrar en el estado Fail y a producir un error.

Estado Parallel de un flujo de trabajo

Reprogramaciones y redrives solo aquellas sucursales que fallaron o abortaron.

Si el estado produjo un error debido a un error de States.DataLimitExceeded, se vuelve a ejecutar el estado Parallel, incluidas las ramas que se ejecutaron correctamente en el intento de ejecución original.

Estado Map en línea

Reprogramaciones y redrives solo las iteraciones que fallaron o se abortaron.

Si el estado produjo un error debido a un error de States.DataLimitExceeded, se vuelve a ejecutar el estado Map en línea, incluidas las iteraciones que se ejecutaron correctamente en el intento de ejecución original.

Estado Map Distributed

redrives el flujo de trabajo secundario fallido se ejecuta en Map Run. Para obtener más información, consulte Redriving El mapa se ejecuta en las ejecuciones de Step Functions.

Si el estado produjo un error debido a un error de States.DataLimitExceeded, se vuelve a ejecutar el estado Map Distributed. Esto incluye los flujos de trabajo secundarios que se realizaron correctamente en el intento de ejecución original.

Permiso de IAM para redrive una ejecución

Step Functions necesita el permiso adecuado para redrive una ejecución. El siguiente ejemplo de política de IAM otorga el mínimo privilegio requerido a su máquina de estado para redriving una ejecución. Recuerde sustituir el italicized texto por la información específica del recurso.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:RedriveExecution" ], "Resource": "arn:aws:states:us-east-2:123456789012:execution:myStateMachine:*" } ] }

Para ver un ejemplo del permiso, necesitas redrive a Map Run, consulteEjemplo de política de IAM para redriving un mapa distribuido.

Redriving ejecuciones en consola

Usted puede redrive ejecuciones elegibles del Step Functions console.

Por ejemplo, imagine que ejecuta una máquina de estado y no se ejecuta un estado paralelo.

La siguiente imagen muestra un Lambda El paso de invocación denominado ¿Se ha devuelto un número cuadrado dentro de un estado paralelo y se ha producido un error? Esto también provocó un error en el estado Parallel. Las ramas cuya ejecución estaba en curso o no se había iniciado se detienen y se produce un error en la ejecución de la máquina de estado.

Ejemplo gráfico de la ejecución de la máquina de estado con error.
Para redrive una ejecución desde la consola
  1. Abra la Consola de Step Functions y, a continuación, elija una máquina de estado existente cuya ejecución no se haya completado correctamente.

  2. En la página de detalles de la máquina de estado, en Ejecuciones, seleccione una instancia de ejecución fallida.

  3. Haga clic en .Redrive.

  4. En la Redrivecuadro de diálogo, elija Redrive ejecución.

    sugerencia

    Si se encuentra en la página de detalles de la ejecución de una ejecución fallida, realice una de las siguientes acciones para redrive la ejecución:

    • Elija Recuperar y, a continuación, seleccione Redrive de un error.

    • Elija Acciones y, a continuación, seleccione Redrive.

    Observe que redrive usa la misma definición de máquina de estado y el mismo ARN. Continúa la ejecución desde el paso que produjo un error en el intento de ejecución original. En este ejemplo, se trata de la rama Do square number (Elevar número al cuadrado) y Wait 3 seconds (Esperar 3 segundos) dentro del estado Parallel. Tras reiniciar la ejecución de estos pasos fallidos en el estado paralelo, redrive continuará con la ejecución del paso Listo.

  5. Elija la ejecución, para abrir la página Detalles de la ejecución.

    En esta página, puede ver los resultados del redriven ejecución. Por ejemplo, en la Resumen ejecutivo sección, puede ver Redrive recuento, que representa el número de veces que se ha realizado una ejecución redriven. En la sección de Eventos, puedes ver el redrive los eventos de ejecución relacionados se adjuntan a los eventos del intento de ejecución original. Por ejemplo, el evento ExecutionRedriven.

Redriving ejecuciones mediante la API

Puedes redrive ejecuciones aptas mediante la RedriveExecutionAPI. Esta API reinicia las ejecuciones con error de los flujos de trabajo estándar a partir del paso con error, anulado o que agotó el tiempo de espera.

En AWS Command Line Interface (AWS CLI), ejecuta el siguiente comando para redrive una ejecución fallida de la máquina de estados. Recuerde sustituir el italicized texto por la información específica del recurso.

aws stepfunctions redrive-execution --execution-arn arn:aws:states:us-east-2:123456789012:execution:myStateMachine:foo

¿Examinando redriven ejecuciones

Puede examinar un redriven ejecución en la consola o mediante APIs: GetExecutionHistoryy DescribeExecution.

Examine redriven ejecuciones en consola
  1. Abra la consola Step Functions y, a continuación, elija una máquina de estados existente para la que haya redriven una ejecución.

  2. Abra página Detalles de ejecución.

    En esta página, puede ver los resultados de redriven ejecución. Por ejemplo, en la Resumen ejecutivo sección, puede ver Redrive recuento, que representa el número de veces que se ha realizado una ejecución redriven. En la sección de Eventos, puedes ver el redrive los eventos de ejecución relacionados se adjuntan a los eventos del intento de ejecución original. Por ejemplo, el evento ExecutionRedriven.

Examine redriven ejecuciones utilizando APIs

Si tienes redriven una ejecución de máquina de estados, puede utilizar una de las siguientes APIs opciones para ver los detalles sobre redriven ejecución. Recuerde sustituir el italicized texto por la información específica del recurso.

  • GetExecutionHistory — Devuelve el historial de la ejecución especificada como una lista de eventos. Esta API también devuelve los detalles sobre redrive intento de ejecución, si está disponible.

    En AWS CLI, ejecute el siguiente comando.

    aws stepfunctions get-execution-history --execution-arn arn:aws:states:us-east-2:123456789012:execution:myStateMachine:foo
  • DescribeExecution — Proporciona información sobre la ejecución de una máquina de estado. Puede ser la máquina de estados asociada a la ejecución, la entrada y salida de la ejecución o la ejecución redrive detalles, si están disponibles, y metadatos de ejecución relevantes.

    En AWS CLI, ejecute el siguiente comando.

    aws stepfunctions describe-execution --execution-arn arn:aws:states:us-east-2:123456789012:execution:myStateMachine:foo

Vuelva a intentar el comportamiento de redriven ejecuciones

Si las recetas redriven la ejecución vuelve a ejecutar un estado Estado de un flujo de trabajo de tareaEstado Parallel de un flujo de trabajo, o un mapa en línea, para el que ha definido reintentos, el recuento de reintentos de estos estados se restablece en 0 para permitir el número máximo de intentos en redrive. Para un redriven durante la ejecución, puede realizar un seguimiento de los reintentos individuales de estos estados mediante la consola.

Para examinar los reintentos individuales en la consola
  1. En la página Detalles de ejecución de la consola Step Functions, elija un estado en el que se haya vuelto a intentar redrive.

  2. Seleccione los reintentos y redrivespestaña.

  3. Elija el icono de la flecha junto a cada reintento para ver sus detalles. Si el reintento se ha realizado correctamente, puede ver los resultados en la Salida, que aparece en un cuadro desplegable.

La siguiente imagen muestra un ejemplo de los reintentos realizados para un estado en el intento de ejecución original y el redrives de esa ejecución. En esta imagen, se realizan tres reintentos en el original y redrive intentos de ejecución. La ejecución se realiza correctamente en el cuarto redrive intenta y devuelve una salida de 16.

Captura de pantalla ilustrativa que muestra tres reintentos fallidos y un cuarto intento satisfactorio.
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.