

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Redriving execuções de mapa em execuções do Step Functions
<a name="redrive-map-run"></a>

Você pode reiniciar execuções malsucedidas do fluxo de trabalho secundário em uma Execução de mapa [redriving](redrive-executions.md) o [fluxo de trabalho principal](state-map-distributed.md#dist-map-orchestrate-parallel-workloads-key-terms). Um fluxo de trabalho principal redriven redrives todos os estados malsucedidos, incluindo o Mapa distribuído. Um fluxo de trabalho principal vai redirecionar estados malsucedidos se não houver nenhum evento `<stateType>Exited` correspondente ao evento `<stateType>Entered` de um estado quando o fluxo de trabalho principal tiver concluído a execução. Por exemplo, se o histórico de eventos não contiver o evento `MapStateExited` de um evento `MapStateEntered`, você poderá redrive o fluxo de trabalho principal para redrive todas as execuções malsucedidas do fluxo de trabalho secundário na Execução de mapa.

Uma Execução de mapa não é iniciada ou apresenta falha na tentativa de execução original quando a máquina de estado não tem a permissão necessária para acessar [ItemReader (Mapa)](input-output-itemreader.md), [ResultWriter (Mapa)](input-output-resultwriter.md), ou ambas. Se a Execução de mapa não tiver sido iniciada na tentativa de execução original do fluxo de trabalho principal, redriving o fluxo de trabalho principal iniciará a Execução de mapa pela primeira vez. Para resolver isso, adicione as permissões necessárias ao perfil de máquina de estado e, depois, redrive o fluxo de trabalho principal. Se você redrive o fluxo de trabalho principal sem adicionar as permissões exigidas, haverá uma tentativa de iniciar uma nova Execução de mapa, que falhará novamente. Para obter informações sobre as permissões de que você talvez precise, consulte [Políticas do IAM para usar estados de mapa distribuído](iam-policies-eg-dist-map.md).

**Contents**
+ [Elegibilidade de Redrive para fluxos de trabalho secundários em uma Execução de mapa](#redrive-eligibility-map-run)
+ [Comportamento do redrive de uma execução de fluxo de trabalho secundário](#redrive-child-workflow-behavior)
+ [Cenários de entrada utilizados no redrive de uma Execução de mapa](#maprun-redrive-input)
+ [Permissão do IAM para redrive uma Execução de mapa](#maprun-iam-permission)
+ [Redriving uma Execução de mapa no console](#redrive-maprun-console)
+ [Redriving Execução de mapa usando a API](#redrive-maprun-api)

## Elegibilidade de Redrive para fluxos de trabalho secundários em uma Execução de mapa
<a name="redrive-eligibility-map-run"></a>

Você conseguirá redrive execuções malsucedidas do fluxo de trabalho secundário em uma Execução de mapa se as seguintes condições forem atendidas:
+ Você iniciou a execução do fluxo de trabalho principal em 15 de novembro de 2023 ou após essa data. As execuções iniciadas antes dessa data não têm direito ao redrive.
+ Você não excedeu o limite máximo de mil redrives em uma determinada Execução de mapa. Se você excedeu esse limite, verá o erro `States.Runtime`.
+ O fluxo de trabalho principal é redrivable. Se o fluxo de trabalho principal não for redrivable, você não conseguirá redrive as execuções do fluxo de trabalho secundário em uma Execução de mapa. Para obter mais informações sobre a elegibilidade de redrive um fluxo de trabalho, consulte [Elegibilidade de Redrive para execuções malsucedidas](redrive-executions.md#redrive-eligibility).
+ As execuções do fluxo de trabalho secundário do tipo Padrão em uma Execução de mapa não excederam o limite do histórico de 25 mil eventos de execução. As execuções de fluxo de trabalho secundárias que excederam o limite do histórico de eventos são contabilizadas no [limite de falhas tolerado](state-map-distributed.md#maprun-fail-threshold) e considera-se que falharam. Para obter mais informações sobre a elegibilidade de redrive de uma execução, consulte [Elegibilidade de Redrive para execuções malsucedidas](redrive-executions.md#redrive-eligibility).

Uma nova Execução de mapa é iniciada e a existente não é redriven nos seguintes casos, mesmo que a tentativa original de Execução de mapa tenha falhado:
+ A Execução de mapa falhou devido ao erro `States.DataLimitExceeded`.
+ A Execução de mapa falhou devido ao erro de interpolação de dados JSON, `States.Runtime`. Por exemplo, você selecionou um nó JSON inexistente em [Filtrar a saída de estado usando OutputPath](input-output-example.md#input-output-outputpath).

Uma Execução de mapa pode continuar mesmo após o fluxo de trabalho principal parar ou atingir o tempo limite. Nesses cenários, o redrive isso não acontece imediatamente:
+ A Execução de mapa talvez ainda esteja cancelando execuções em andamento de fluxos de trabalho secundários do tipo Padrão ou aguardando que execuções de fluxos de trabalho secundários do tipo expresso sejam concluídas.
+ A Execução de mapa talvez ainda esteja gravando resultados no [ResultWriter (Mapa)](input-output-resultwriter.md), se você a tiver configurado para exportar resultados.

Nesses casos, a Execução de mapa conclui suas operações antes de tentar redrive.

## Comportamento do redrive de uma execução de fluxo de trabalho secundário
<a name="redrive-child-workflow-behavior"></a>

As execuções do fluxo de trabalho secundário redriven em uma Execução de mapa exibem o comportamento descrito na tabela a seguir.


| Fluxo de trabalho expresso secundário | Fluxo de trabalho padrão secundário | 
| --- | --- | 
| Todas as execuções do fluxo de trabalho secundário que falharam ou atingiram o tempo limite na tentativa de execução original são iniciadas usando a ação da [StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)API. O primeiro estado em [ItemProcessor](state-map-distributed.md#distitemprocessor) é executado primeiro. | Todas as execuções de um fluxo de trabalho secundário que tiverem falhado, sido canceladas ou atingirem o tempo limite na tentativa de execução original são redriven usando a ação da API [https://docs.aws.amazon.com/step-functions/latest/apireference/API_RedriveExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_RedriveExecution.html). Esses fluxos de trabalho secundários são redriven do último estado em ItemProcessor que resultou em sua execução malsucedida. | 
| Execuções malsucedidas sempre podem ser redriven. Isso ocorre porque as execuções do fluxo de trabalho secundário do Express são sempre iniciadas como uma nova execução usando a ação da StartExecution API. | As execuções malsucedidas do fluxo de trabalho padrão secundário nem sempre podem ser redriven. Se a execução não for redrivable, não haverá uma nova tentativa. O último erro ou saída da execução é permanente. Isso pode acontecer quando uma execução excede o limite de 25 mil eventos do histórico ou seu período redrivable ultrapassou 14 dias.<br />A execução do fluxo de trabalho padrão secundário talvez não seja redrivable se a execução do fluxo de trabalho principal tiver sido encerrada dentro de 14 dias, mas a execução do fluxo de trabalho secundário for encerrada antes de 14 dias. | 
| As execuções do fluxo de trabalho expresso secundário usam o mesmo ARN de execução da tentativa de execução original, mas não é possível identificar claramente os redrives individuais. | As execuções do fluxo de trabalho padrão secundário usam o mesmo ARN de execução da tentativa de execução original. Você pode identificar claramente a pessoa redrives no console e usando APIs, como [GetExecutionHistory](https://docs.aws.amazon.com/step-functions/latest/apireference/API_GetExecutionHistory.html)e. [DescribeExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html) Para obter mais informações, consulte [Examinar execuções redriven](redrive-executions.md#examine-redriven-executions). | 

Se você tiver uma Execução de mapa redriven e ela tiver atingido seu limite de simultaneidade, as execuções do fluxo de trabalho secundário nela farão a transição para o estado pendente. O status da Execução de mapa também passa para o estado **redrive pendente**. A execução permanecerá no estado **redrive pendente** até que o limite de simultaneidade especificado permita a execução de mais execuções de fluxo de trabalho secundário. 

Por exemplo, digamos que o limite de simultaneidade de Mapa distribuído em seu fluxo de trabalho seja 3 mil e o número de fluxos de trabalho secundários a serem executados novamente seja de 6 mil. Isso faz com que 3 mil fluxos de trabalho secundários sejam executados em paralelo, enquanto os 3 mil fluxos de trabalho restantes permanecem no estado **Redirecionamento pendente**. Após a conclusão da execução do primeiro lote de 3 mil fluxos de trabalho secundários, os 3 mil restantes serão executados.

Quando uma Execução de mapa é concluída ou abortada, a contagem de execuções de fluxos de trabalho secundários no estado **redrivependente** é redefinida para 0.

## Cenários de entrada utilizados no redrive de uma Execução de mapa
<a name="maprun-redrive-input"></a>

Dependendo de como você forneceu a entrada para Mapa distribuído na tentativa de execução original, uma Execução de mapa redriven usará a entrada como descrito na tabela a seguir.


| Entrada na tentativa de execução original | Entrada utilizada no redrive de Execução de mapa | 
| --- | --- | 
| Entrada passada de um estado anterior ou entrada de execução. | A Execução de mapa redriven usa a mesma entrada. | 
| A entrada passada usando [ItemReader (Mapa)](input-output-itemreader.md) a Execução de mapa não iniciaram as execuções do fluxo de trabalho secundário porque uma das seguintes condições é verdadeira: [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/redrive-map-run.html)  | A Execução de mapa redriven usa a entrada no bucket do Amazon S3. | 
| Entrada passada usando ItemReader. A Execução de mapa falhou após o início ou tentativa de iniciar as execuções do fluxo de trabalho secundário. | A Execução de mapa redriven usa a mesma entrada fornecida na tentativa de execução original. | 

## Permissão do IAM para redrive uma Execução de mapa
<a name="maprun-iam-permission"></a>

Step Functions precisa da permissão apropriada para redrive uma Execução de mapa. O exemplo de política do IAM a seguir concede o privilégio mínimo necessário à sua máquina de estado para redriving uma Execução de mapa. Lembre-se de substituir o {{italicized}} texto pelas informações específicas do seu recurso.

****  

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

## Redriving uma Execução de mapa no console
<a name="redrive-maprun-console"></a>

A imagem a seguir mostra o gráfico de execução de uma máquina de estado que contém um Mapa distribuído. Essa execução falhou porque a Execução de mapa falhou. Para redrive a Execução de mapa, você deve redrive o fluxo de trabalho principal.

![Gráfico de uma falha de execução de uma máquina de estado causada por uma falha de uma Execução de mapa.](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/redrive-eg-failed-maprun.png)


**Para redrive uma Execução de mapa no console**

1. Abra o [console do Step Functions](https://console.aws.amazon.com/states/home?region=us-east-1#/) e, em seguida, escolha uma máquina de estado existente que contenha um Mapa distribuído cuja execução tenha falhado.

1. Na página de detalhes da máquina de estado, em **Execuções**, escolha uma instância de execução com falha dessa máquina.

1. Selecione **Redrive**.

1. Na caixa de diálogo **Redrive**, escolha **Redrive execução **.
**dica**  
Você também pode redrive uma Execução de mapa na página *Detalhes da execução* ou *Detalhes da execução de mapa*.  
Se você estiver na página *Detalhes da execução*, faça o seguinte para redrive a execução:  
Escolha **Recuperar** e, em seguida, selecione **Redrive de uma falha**.
Escolha **Ações** e, em seguida, selecione **Redrive**.
Se você estiver na página *Detalhes da execução de mapa*, escolha **Recuperar** e, em seguida, selecione **Redrive de uma falha**.

   Observe que redrive usa a mesma definição de máquina de estado e ARN. A execução é retomada a partir da etapa onde houve a falha na tentativa original. Neste exemplo, isso ocorre na etapa de Mapa distribuído chamada **Mapa** e a etapa de **Entrada do processo** dentro dela. Depois de reiniciar as execuções malsucedidas do fluxo de trabalho secundário da Execução mapa, o redrive continuará a execução para a etapa **Concluído**.

1. Na página *Detalhes da execução*, escolha **Execução de mapa** para ver os detalhes da Execução de mapa redriven.

   Nessa página, é possível visualizar os resultados da execução redriven. Por exemplo, na seção [Resumo da execução de mapa](concepts-examine-map-run.md#map-run-exec-summary), você pode ver a **Contagem de Redrive**, que representa o número de vezes que uma Execução de mapa foi redriven. Na seção **Eventos**, você pode ver os eventos relacionados ao redrive de execução anexados aos da tentativa de execução original. Por exemplo, o evento de `MapRunRedriven`.

Depois de executar redriven um mapa, você pode examinar seus redrive detalhes no console ou usando as ações [GetExecutionHistory](https://docs.aws.amazon.com/step-functions/latest/apireference/API_GetExecutionHistory.html)e [DescribeExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html)da API. Para mais informações sobre o exame de uma execução redriven, consulte [Examinar execuções redriven](redrive-executions.md#examine-redriven-executions).

## Redriving Execução de mapa usando a API
<a name="redrive-maprun-api"></a>

Você pode redrive uma Execução de mapa [elegível](#redrive-eligibility-map-run) usando a API [https://docs.aws.amazon.com/step-functions/latest/apireference/API_RedriveExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_RedriveExecution.html) no fluxo de trabalho principal. Essa API reinicia as execuções malsucedidas do fluxo de trabalho secundário em uma Execução de mapa.

Na AWS Command Line Interface (AWS CLI), execute o comando a seguir para redrive uma execução malsucedida da máquina de estado. Lembre-se de substituir o {{italicized}} texto pelas informações específicas do seu recurso.

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

Depois de executar redriven um mapa, você pode examinar seus redrive detalhes no console ou usando a ação da [DescribeMapRun](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeMapRun.html)API. Para examinar os redrive detalhes das execuções do fluxo de trabalho padrão em uma execução de mapa, você pode usar a ação [GetExecutionHistory](https://docs.aws.amazon.com/step-functions/latest/apireference/API_GetExecutionHistory.html)ou [DescribeExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html)API. Para mais informações sobre o exame de uma execução redriven, consulte [Examinar execuções redriven](redrive-executions.md#examine-redriven-executions).

Você conseguirá examinar os detalhes de redrive das execuções do fluxo de trabalho expresso em uma Execução de mapa no [console do Step Functions](https://console.aws.amazon.com/states/home?region=us-east-1#/) se tiver ativado o registro no fluxo de trabalho principal. Para obter mais informações, consulte [Usando CloudWatch Logs para registrar o histórico de execução em Step Functions](cw-logs.md).