

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.

# Reinicio de ejecuciones de máquinas de estado con redrive en Step Functions
<a name="redrive-executions"></a>

Puede utilizar 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 desde el paso fallido utilizando la misma entrada. Step Functions conserva los resultados y el historial de ejecución de los pasos exitosos, los cuales no se vuelven a ejecutar al redrive una ejecución. Por ejemplo, supongamos que el flujo de trabajo contiene dos estados: un estado [Estado Pass de un flujo de trabajo](state-pass.md) seguido de un estado [Estado de un flujo de trabajo de tarea](state-task.md). Si la ejecución del flujo de trabajo produce un error en el estado Task y se utiliza redrive con la ejecución, la ejecución se reprogramará y, a continuación, se volverá a ejecutar el estado Task.

Las ejecuciones de Redriven 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](concepts-state-machine-version.md), un [alias](concepts-state-machine-alias.md) o ambos, la redriven ejecución se asociará a la misma versión, alias o a ambos. Incluso si se actualiza el alias para que apunte a una versión diferente, la ejecución de redriven seguirá utilizando la versión asociada al intento de ejecución original. Como las ejecuciones de redriven utilizan la misma definición de máquina de estados, deberá iniciar una nueva ejecución si actualiza la definición de máquina de estado.

Al utiliza redrive con una ejecución, el tiempo de espera a nivel de máquina de estado, 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`. 

Las redrives de ejecución 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](https://aws.amazon.com/step-functions/pricing/).

## Aptitud de Redrive para ejecuciones fallidas
<a name="redrive-eligibility"></a>

Puede ejecutar redrive 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 haya iniciado antes de esta fecha no son aptas para redrive.
+ El estado de la ejecución no es `SUCCEEDED`.
+ La ejecución del flujo de trabajo no ha superado el período redrivable de 14 días. El período Redrivable se refiere al tiempo durante el cual se puede realizar redrive en 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](service-quotas.md#service-limits-state-machine-executions).
+ El recuento del historial de eventos de ejecución es inferior a 24 999. Las ejecuciones Redriven 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.

## Comportamiento Redrive de los estados individuales
<a name="redrive-behavior-states"></a>

Según el estado en el que se produzca el error en el flujo de trabajo, el comportamiento redrive de todos los estados con error varía. La tabla siguiente describe el comportamiento de redrive para todos los estados.


| Nombre de estado | Comportamiento de ejecución de Redrive | 
| --- | --- | 
| [Estado Pass de un flujo de trabajo](state-pass.md) |  Si se produce un error en un paso anterior o se agota el tiempo de espera de la máquina de estado, el estado Pass se cierra y no se ejecuta en redrive.  | 
| [Estado de un flujo de trabajo de tarea](state-task.md) |  Programa y vuelve a iniciar el estado Task. Cuando se utiliza redrive con una ejecución que vuelve a ejecutar un estado Task, el valor de `TimeoutSeconds` del estado, si está definido, se restablece a 0. Para obtener más información acerca del tiempos de espera, consulte [estado Tarea](state-task.md#task-state-fields).  | 
| [Estado del flujo de trabajo de elección](state-choice.md) | Vuelve a evaluar las reglas del estado Choice. | 
| [Estado Wait de un flujo de trabajo](state-wait.md) |  Si el estado especifica `Timestamp` o `TimestampPath` que hace referencia a una marca de tiempo en el pasado, redrive provoca la salida del estado Wait y entra en el estado especificado en el campo `Next`.  | 
| [Estado Succeed de un flujo de trabajo](state-succeed.md) |  No utiliza redrive con las ejecuciones de máquina de estado que entran en el estado Succeed.  | 
| [Estado de flujo de trabajo con error](state-fail.md) |  Vuelve a entrar en el estado Fail y a producir un error.  | 
| [Estado Parallel de un flujo de trabajo](state-parallel.md) |  Reprograma y utiliza redrives solo con las ramas que produjeron un error o se interrumpieron. 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](state-map-inline.md) |  Reprograma y utiliza redrives solo con las iteraciones que produjeron un error o se interrumpieron. 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](state-map-distributed.md) |  Utiliza redrives con las ejecuciones con error del flujo de trabajo secundario en un [Map Run](concepts-examine-map-run.md). Para obtener más información, consulte [Redriving de ejecuciones Map en Step Functions](redrive-map-run.md). 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 utilizar redrive con una ejecución
<a name="redrive-iam-permission"></a>

Step Functions necesita el permiso adecuado para utilizar redrive con una ejecución. El siguiente ejemplo de política de IAM otorga los privilegios mínimos necesarios para que la máquina de estado utilice redriving con una ejecución. Recuerde sustituir el *italicized* texto por la información específica de su recurso.

****  

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

Para ver un ejemplo del permiso que necesita para utilizar redrive con un Map Run, consulte [Ejemplo de política de IAM para redriving de estado Map Distributed](iam-policies-eg-dist-map.md#iam-policy-redrive-dist-map).

## Redriving ejecuciones en consola
<a name="redrive-execution-console"></a>

Puede redrive ejecuciones aptas desde la consola de Step Functions.

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

La siguiente imagen muestra un paso de **invocación de Lambda** denominado **Do square number** dentro de un estado **Parallel** que ha devuelto 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.\]](http://docs.aws.amazon.com/es_es/step-functions/latest/dg/images/redrive-eg-failed-workflow.png)


**Para utilizar redrive con una ejecución desde la consola**

1. Abra la [Consola de Step Functions](https://console.aws.amazon.com/states/home?region=us-east-1#/) y, a continuación, elija una máquina de estado existente cuya ejecución no se haya completado correctamente.

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

1. Elija **Redrive**.

1. En el cuadro de diálogo **Redrive**, elija **Redrive ejecución**.
**sugerencia**  
Si se encuentra en la página de *Detalles de la ejecución* de una ejecución con error, lleve a cabo una de las siguientes acciones para utilizar redrive con la ejecución:  
Elija **Recuperar** y, a continuación, seleccione una opción **Redrive desde error**.
Elija **Acciones** y, a continuación, seleccione **Redrive**.

   Observe que redrive utiliza 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 **Parallel**, redrive continuará con la ejecución del paso **Done** (Hecho).

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

   En esta página, puede ver los resultados de la ejecución redriven. Por ejemplo, en la sección [Resumen ejecutivo](concepts-view-execution-details.md#exec-details-intf-exec-summ), puede ver el **recuento de Redrive**, que representa el número de veces que se ha utilizado redriven con una ejecución. En la sección **Eventos**, puede ver los eventos de ejecución relacionados con redrive adjuntos a los eventos del intento de ejecución original. Para ver un ejemplo, consulte `ExecutionRedriven`.

## Redriving de ejecuciones mediante la API
<a name="redrive-execution-api"></a>

Puedes redrive [subvencionar](#redrive-eligibility) las ejecuciones mediante la [RedriveExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_RedriveExecution.html)API. 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 el campo AWS Command Line Interface (AWS CLI), ejecuta el siguiente comando si la máquina redrive de estados no se ejecuta correctamente. Recuerde reemplazar el *italicized* texto con la información específica del recurso.

```
aws stepfunctions redrive-execution --execution-arn arn:aws:states:us-east-2:account-id:execution:myStateMachine:foo
```

## Examen de las ejecuciones redriven
<a name="examine-redriven-executions"></a>

Puede examinar una redriven ejecución en la consola o mediante APIs: [GetExecutionHistory](https://docs.aws.amazon.com/step-functions/latest/apireference/API_GetExecutionHistory.html)y. [DescribeExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html)

**Examen de las ejecuciones redriven en la consola**

1. Abra la [consola de Step Functions](https://console.aws.amazon.com/states/home?region=us-east-1#/) y, a continuación, elija una máquina de estado existente en la que haya utilizado redriven con una ejecución.

1. Abra página *Detalles de ejecución*.

   En esta página, puede ver los resultados de la ejecución redriven. Por ejemplo, en la sección [Resumen ejecutivo](concepts-view-execution-details.md#exec-details-intf-exec-summ), puede ver el **recuento de Redrive**, que representa el número de veces que se ha utilizado redriven con una ejecución. En la sección **Eventos**, puede ver los eventos de ejecución relacionados con redrive adjuntos a los eventos del intento de ejecución original. Por ejemplo, el evento `ExecutionRedriven`.

**Examine redriven las ejecuciones mediante APIs**  
Si tiene redriven una ejecución de máquina de estados, puede utilizar una de las siguientes opciones APIs para ver los detalles de la redriven ejecución. Recuerde reemplazar 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 el intento de ejecución de redrive, si están disponibles.

  En el AWS CLI, ejecute el siguiente comando.

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

  En AWS CLI, ejecute el siguiente comando.

  ```
  aws stepfunctions describe-execution --execution-arn arn:aws:states:us-east-2:account-id:execution:myStateMachine:foo
  ```

## Comportamiento de reintento de las ejecuciones redriven
<a name="redrive-retry-behavior"></a>

Si la ejecución de redriven se vuelve a realizar con un [Estado de un flujo de trabajo de tarea](state-task.md), un [Estado Parallel de un flujo de trabajo](state-parallel.md) o un [estado Map en línea](state-map-inline.md) para el que haya definido [reintentos](concepts-error-handling.md#error-handling-retrying-after-an-error), el recuento de reintentos para estos estados se restablecerá en 0 para permitir el número máximo de intentos en redrive. Para una ejecución redriven, 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 de Step Functions](https://console.aws.amazon.com/states/home?region=us-east-1#/), elija un estado que se haya reintentado en redrive.

1. Elija la pestaña **Reintentos y redrives**.

1. 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 en los redrives de esa ejecución. En esta imagen, se realizan tres reintentos en el intento original y en el de ejecución redrive. La ejecución se completa correctamente en el cuarto intento de redrive y devuelve un resultado de 16.

![\[Captura de pantalla ilustrativa que muestra tres reintentos fallidos y un cuarto intento satisfactorio.\]](http://docs.aws.amazon.com/es_es/step-functions/latest/dg/images/task-retry-redrive.png)
