

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memulai ulang eksekusi mesin status dengan redrive in Step Functions
<a name="redrive-executions"></a>

Anda dapat menggunakan redrive untuk memulai ulang eksekusi Alur Kerja Standar yang tidak berhasil diselesaikan dalam 14 hari terakhir. Eksekusi ini termasuk eksekusi yang gagal, dibatalkan, atau kehabisan waktu.

Saat Anda redrive mengeksekusi, Step Functions melanjutkan eksekusi yang gagal dari langkah yang tidak berhasil dan menggunakan input yang sama. Step Functionsmempertahankan hasil dan riwayat eksekusi dari langkah-langkah sukses, yang tidak dijalankan kembali ketika Anda redrive eksekusi. Misalnya, katakan bahwa alur kerja Anda berisi dua status: [Lulus status alur kerja](state-pass.md) status diikuti oleh [Status alur kerja tugas](state-task.md) status. Jika eksekusi alur kerja Anda gagal pada status Tugas, dan Anda redrive mengeksekusinya, eksekusi akan menjadwal ulang dan kemudian menjalankan kembali status Tugas.

Redriveneksekusi menggunakan definisi mesin keadaan yang sama dan eksekusi ARN yang digunakan untuk upaya eksekusi asli. Jika upaya eksekusi asli Anda dikaitkan dengan [versi](concepts-state-machine-version.md), [alias](concepts-state-machine-alias.md), atau keduanya, redriven eksekusi dikaitkan dengan versi, alias, atau keduanya yang sama. Bahkan jika Anda memperbarui alias Anda untuk menunjuk ke versi yang berbeda, redriven eksekusi terus menggunakan versi yang terkait dengan upaya eksekusi asli. Karena redriven eksekusi menggunakan definisi mesin status yang sama, Anda harus memulai eksekusi baru jika Anda memperbarui definisi mesin status Anda.

Ketika Anda redrive eksekusi, batas waktu tingkat mesin negara, jika ditentukan, diatur ulang ke 0. Untuk informasi selengkapnya tentang batas waktu tingkat mesin negara bagian, lihat`TimeoutSeconds`. 

Eksekusi redrives dianggap sebagai transisi negara. Untuk informasi tentang cara transisi status mempengaruhi penagihan, lihat [Harga Step Functions](https://aws.amazon.com/step-functions/pricing/).

## Redrivekelayakan untuk eksekusi yang gagal
<a name="redrive-eligibility"></a>

Anda dapat redrive mengeksekusi jika upaya eksekusi asli Anda memenuhi ketentuan berikut:
+ Anda memulai eksekusi pada atau setelah 15 November 2023. Eksekusi yang Anda mulai sebelum tanggal ini tidak memenuhi syaratredrive.
+ Status eksekusi tidak`SUCCEEDED`.
+ Eksekusi alur kerja belum melebihi redrivable periode 14 hari. Redrivableperiode mengacu pada waktu di mana Anda dapat eksekusi redrive tertentu. Periode ini dimulai dari hari mesin negara menyelesaikan pelaksanaannya.
+ Eksekusi alur kerja belum melebihi waktu buka maksimum satu tahun. Untuk informasi tentang kuota eksekusi mesin status, lihat[Kuota yang berkaitan dengan eksekusi mesin status](service-quotas.md#service-limits-state-machine-executions).
+ Jumlah riwayat acara eksekusi kurang dari 24.999. Redriveneksekusi menambahkan riwayat peristiwa mereka ke riwayat peristiwa yang ada. Pastikan eksekusi alur kerja Anda berisi kurang dari 24.999 peristiwa untuk mengakomodasi peristiwa `ExecutionRedriven` riwayat dan setidaknya satu peristiwa riwayat lainnya.

## Redriveperilaku masing-masing negara
<a name="redrive-behavior-states"></a>

Bergantung pada status yang gagal dalam alur kerja Anda, redrive perilaku untuk semua status yang gagal bervariasi. Tabel berikut menjelaskan redrive perilaku untuk semua negara bagian.


| Nama negara | Redriveperilaku eksekusi | 
| --- | --- | 
| [Lulus status alur kerja](state-pass.md) | Jika langkah sebelumnya gagal atau mesin status habis, status Pass akan keluar dan tidak dieksekusi. redrive | 
| [Status alur kerja tugas](state-task.md) | Menjadwalkan dan memulai status Tugas lagi.<br />Ketika Anda eksekusi redrive yang menjalankan kembali status Tugas, `TimeoutSeconds` untuk status, jika ditentukan, disetel ulang ke 0. Untuk informasi selengkapnya tentang batas waktu, lihat [Status tugas](state-task.md#task-state-fields). | 
| [Status alur kerja pilihan](state-choice.md) | Mengevaluasi kembali aturan negara Pilihan. | 
| [Tunggu status alur kerja](state-wait.md) | Jika status menentukan `Timestamp` atau `TimestampPath` yang mengacu pada stempel waktu di masa lalu, redrive menyebabkan status Tunggu keluar dan memasuki status yang ditentukan di bidang. `Next` | 
| [Status alur kerja yang berhasil](state-succeed.md) | Tidak redrive menyatakan eksekusi mesin yang memasuki status Sukses. | 
| [Status alur kerja gagal](state-fail.md) | Memasuki kembali status Gagal dan gagal lagi. | 
| [Status alur kerja paralel](state-parallel.md) | Menjadwalkan ulang dan redrives hanya cabang-cabang yang gagal atau dibatalkan.<br />Jika status gagal karena `States.DataLimitExceeded` kesalahan, status Paralel dijalankan kembali, termasuk cabang yang berhasil dalam upaya eksekusi asli. | 
| [Status Peta Sebaris](state-map-inline.md) | Menjadwalkan ulang dan redrives hanya iterasi yang gagal atau dibatalkan.<br />Jika status gagal karena `States.DataLimitExceeded` kesalahan, status Peta Sebaris dijalankan kembali, termasuk iterasi yang berhasil dalam upaya eksekusi asli. | 
| [Status Peta Terdistribusi](state-map-distributed.md) | redrives[eksekusi alur kerja anak yang gagal dalam Map Run.](concepts-examine-map-run.md) Untuk informasi selengkapnya, lihat [RedrivingPeta Berjalan di eksekusi Step Functions](redrive-map-run.md).<br />Jika status gagal karena `States.DataLimitExceeded` kesalahan, status Peta Terdistribusi dijalankan kembali. Ini termasuk alur kerja anak yang berhasil dalam upaya eksekusi asli. | 

## Izin IAM untuk redrive eksekusi
<a name="redrive-iam-permission"></a>

Step Functions membutuhkan izin redrive yang sesuai untuk eksekusi. Contoh kebijakan IAM berikut memberikan hak istimewa paling sedikit yang diperlukan untuk mesin negara Anda untuk redriving eksekusi. Ingatlah untuk mengganti {{italicized}} teks dengan informasi spesifik sumber daya Anda.

****  

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

Untuk contoh izin yang Anda perlukan untuk redrive Map Run, lihat[Contoh kebijakan IAM untuk Peta redriving Terdistribusi](iam-policies-eg-dist-map.md#iam-policy-redrive-dist-map).

## Redrivingeksekusi di konsol
<a name="redrive-execution-console"></a>

Anda dapat redrive memenuhi syarat eksekusi dari Step Functions konsol.

Misalnya, bayangkan Anda menjalankan mesin status dan status paralel gagal dijalankan.

Gambar berikut menunjukkan langkah **LambdaInvoke** bernama **Do nomor kuadrat** di dalam keadaan **Paralel** telah kembali dan gagal. Hal ini menyebabkan keadaan **Paralel** gagal juga. Cabang-cabang yang eksekusinya sedang berlangsung atau tidak dimulai dihentikan dan eksekusi mesin negara gagal.

![Contoh grafik eksekusi mesin status gagal.](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/redrive-eg-failed-workflow.png)


**Untuk redrive eksekusi dari konsol**

1. Buka [konsol Step Functions](https://console.aws.amazon.com/states/home?region=us-east-1#/), lalu pilih mesin status yang ada yang gagal eksekusi.

1. Pada halaman detail mesin status, di bawah **Eksekusi**, pilih instance eksekusi yang gagal.

1. Pilih **Redrive**.

1. Di kotak **Redrive**dialog, pilih **Redriveeksekusi**.
**Tip**  
Jika Anda berada di halaman *Rincian Eksekusi* dari eksekusi yang gagal, lakukan salah satu hal redrive berikut untuk eksekusi:  
Pilih **Pulihkan**, lalu pilih **Redrivedari kegagalan**.
Pilih **Tindakan**, lalu pilih **Redrive**.

   Perhatikan bahwa redrive menggunakan definisi mesin status yang sama dan ARN. Ini terus menjalankan eksekusi dari langkah yang gagal dalam upaya eksekusi asli. Dalam contoh ini, ini adalah langkah **Do square number** dan **Wait 3 sec** cabang di dalam keadaan **Paralel**. **Setelah memulai ulang eksekusi langkah-langkah yang gagal ini dalam keadaan **Paralel**, redrive akan melanjutkan eksekusi untuk langkah Selesai.**

1. Pilih eksekusi untuk membuka halaman *Detail Eksekusi*.

   Di halaman ini, Anda dapat melihat hasil redriven eksekusi. Misalnya, di [Ringkasan eksekusi](concepts-view-execution-details.md#exec-details-intf-exec-summ) bagian ini, Anda dapat melihat **Redrivehitungan**, yang mewakili berapa kali eksekusi telah dilakukanredriven. Di bagian **Peristiwa**, Anda dapat melihat peristiwa eksekusi redrive terkait ditambahkan ke peristiwa upaya eksekusi asli. Misalnya, `ExecutionRedriven` acara.

## Redrivingeksekusi menggunakan API
<a name="redrive-execution-api"></a>

Anda dapat redrive [memenuhi syarat](#redrive-eligibility) eksekusi menggunakan [RedriveExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_RedriveExecution.html)API. API ini memulai ulang eksekusi Alur Kerja Standar yang tidak berhasil dari langkah yang gagal, dibatalkan, atau habis waktu.

Dalam AWS Command Line Interface (AWS CLI), jalankan perintah berikut ke eksekusi mesin status redrive yang tidak berhasil. Ingatlah untuk mengganti {{italicized}} teks dengan informasi spesifik sumber daya Anda.

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

## Memeriksa eksekusi redriven
<a name="examine-redriven-executions"></a>

Anda dapat memeriksa redriven eksekusi di konsol atau menggunakan APIs: [GetExecutionHistory](https://docs.aws.amazon.com/step-functions/latest/apireference/API_GetExecutionHistory.html)dan [DescribeExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html).

**Periksa redriven eksekusi di konsol**

1. Buka [konsol Step Functions](https://console.aws.amazon.com/states/home?region=us-east-1#/), lalu pilih mesin status yang sudah ada redriven yang telah Anda eksekusi.

1. Buka halaman *Detail Eksekusi*.

   Di halaman ini, Anda dapat melihat hasil redriven eksekusi. Misalnya, di [Ringkasan eksekusi](concepts-view-execution-details.md#exec-details-intf-exec-summ) bagian ini, Anda dapat melihat **Redrivehitungan**, yang mewakili berapa kali eksekusi telah dilakukanredriven. Di bagian **Peristiwa**, Anda dapat melihat peristiwa eksekusi redrive terkait ditambahkan ke peristiwa upaya eksekusi asli. Misalnya, `ExecutionRedriven` acara.

**Periksa redriven eksekusi menggunakan APIs**  
Jika Anda redriven memiliki eksekusi mesin status, Anda dapat menggunakan salah satu dari berikut ini APIs untuk melihat detail tentang redriven eksekusi. Ingatlah untuk mengganti {{italicized}} teks dengan informasi spesifik sumber daya Anda.
+ GetExecutionHistory — Mengembalikan riwayat eksekusi yang ditentukan sebagai daftar acara. API ini juga mengembalikan detail tentang redrive upaya eksekusi, jika tersedia.

  Dalam AWS CLI, jalankan perintah berikut.

  ```
  aws stepfunctions get-execution-history --execution-arn arn:aws:states:us-east-2:{{account-id}}:execution:{{myStateMachine}}:{{foo}}
  ```
+ DescribeExecution — Memberikan informasi tentang eksekusi mesin negara. Ini bisa berupa mesin status yang terkait dengan eksekusi, input dan output eksekusi, redrive detail eksekusi, jika tersedia, dan metadata eksekusi yang relevan.

  Dalam AWS CLI, jalankan perintah berikut.

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

## Coba lagi perilaku eksekusi redriven
<a name="redrive-retry-behavior"></a>

Jika redriven eksekusi Anda menjalankan ulang [status[Status alur kerja tugas](state-task.md),[Status alur kerja paralel](state-parallel.md), atau Peta Sebaris](state-map-inline.md), yang telah Anda tetapkan [percobaan ulang](concepts-error-handling.md#error-handling-retrying-after-an-error), jumlah upaya coba lagi untuk status ini disetel ulang ke 0 untuk memungkinkan jumlah upaya maksimum. redrive Untuk redriven eksekusi, Anda dapat melacak upaya percobaan ulang individual dari status ini menggunakan konsol.

**Untuk memeriksa upaya coba lagi individu di konsol**

1. Pada halaman *Execution Details* pada [konsol Step Functions](https://console.aws.amazon.com/states/home?region=us-east-1#/), pilih status yang dicoba ulang. redrive

1. Pilih redrives tab **Retries &**.

1. Pilih ikon panah di samping setiap upaya coba lagi untuk melihat detailnya. Jika upaya coba lagi berhasil, Anda dapat melihat hasilnya di **Output** yang muncul di kotak tarik-turun.

Gambar berikut menunjukkan contoh percobaan ulang yang dilakukan untuk status dalam upaya eksekusi asli dan eksekusi itu. redrives Dalam gambar ini, tiga percobaan ulang dilakukan dalam upaya asli dan redrive eksekusi. Eksekusi berhasil dalam redrive upaya keempat dan mengembalikan output 16.

![Tangkapan layar ilustratif yang menunjukkan tiga percobaan ulang yang gagal dan berhasil pada percobaan ulang keempat.](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/task-retry-redrive.png)
