

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

# Kesalahan pengecualian iterator kedaluwarsa
<a name="kinesis-fis-expired-iterator"></a>

 Kesalahan pengecualian iterator kedaluwarsa (HTTP 400) terjadi ketika iterator shard kedaluwarsa, dan tidak lagi digunakan untuk mengambil catatan aliran saat memanggil. `GetRecords` Ini terjadi ketika ada penundaan antara operasi baca, yang disebabkan oleh tugas pemrosesan data yang berjalan lama, masalah jaringan, atau waktu henti aplikasi. 

**catatan**  
Sebuah iterator shard berlaku selama 5 menit setelah waktu dikeluarkan.

**Rekomendasi untuk menangani pengecualian**
+ Menyegarkan iterator pecahan sebelum kedaluwarsa.
+ Memasukkan penanganan kesalahan untuk mendapatkan iterator baru.
+ Memanfaatkan Kinesis Kinesis Client Library (KCL) yang secara otomatis mengelola kedaluwarsa iterator shard.

Untuk informasi lebih lanjut, lihat [Apa itu AWS Fault Injection Service?](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html)

**Untuk melakukan eksperimen dasar**

1. Buat templat eksperimen: gunakan AWS FIS konsol. 

1. Pilih tindakan: gunakan `aws:kinesis:inject-api-expired-iterator-exception` tindakan.

1. Konfigurasikan target: tentukan peran IAM dan Streamsoperasi Data Kinesis. 

1. Atur durasinya: mulai dengan 5-10 menit untuk pengujian awal. 

1. Tambahkan kondisi berhenti: [kondisi berhenti untuk AWS FIS](https://docs.aws.amazon.com/fis/latest/userguide/stop-conditions.html).

1. Jalankan eksperimen: pantau perilaku aplikasi.

**Detail tindakan**
+ **Jenis Sumber Daya**: IAM Peran ARN
+ **Operasi Target**: `GetRecords`
+ ****Kode Kesalahan****: `ExpiredIteratorException` (HTTP 400)
+ ****Deskripsi****: iterator yang disediakan melebihi usia maksimum yang diizinkan, mensimulasikan skenario di mana pemrosesan rekaman terlalu lambat atau logika pos pemeriksaan gagal.

**Parameter**
+ **IAM Role ARN**: peran yang digunakan aplikasi Anda untuk operasi Kinesis Data Streams.
+ **Operasi**: operasi target: `GetRecords`
+ **Daftar Sumber Daya**: nama aliran tertentu atau ARNs.
+ **Durasi**: durasi percobaan. Ini dapat dikonfigurasi. 
+ **Intensitas**: persentase permintaan untuk throttle.

**Izin yang diperlukan**
+ `kinesis:InjectApiError`