本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
迭代器例外錯誤已過期
過期的疊代運算例外錯誤 (HTTP 400) 會在碎片疊代運算過期時發生,而且不再用於在呼叫 時擷取串流記錄GetRecords。當讀取操作之間發生延遲,這是由於長時間執行的資料處理任務、網路問題或應用程式停機時間所造成。
注意
碎片疊代運算在發出後 5 分鐘內有效。
處理例外狀況的建議
-
在碎片迭代器過期之前重新整理碎片迭代器。
-
整合錯誤處理以取得新的迭代器。
-
使用 Kinesis Kinesis Client Library (KCL) 來自動管理碎片迭代器過期。
如需詳細資訊,請參閱什麼是 AWS Fault Injection Service?
執行基本實驗
-
建立實驗範本:使用 AWS FIS 主控台。
-
選取動作:使用
aws:kinesis:inject-api-expired-iterator-exception動作。 -
設定目標:指定 IAM 角色和 Kinesis Data Streamsoperations。
-
設定持續時間:從初始測試的 5-10 分鐘開始。
-
新增停止條件:停止條件 AWS FIS。
-
執行實驗:監控應用程式行為。
動作詳細資訊
-
資源類型:IAM 角色 ARN
-
目標操作:
GetRecords -
錯誤代碼:
ExpiredIteratorException(HTTP 400) -
描述:提供的迭代器超過允許的最長存留期,模擬記錄處理太慢或檢查點邏輯失敗的案例。
Parameters
-
IAM 角色 ARN:您的應用程式用於 Kinesis Data Streams 操作的角色。
-
操作:目標操作:
GetRecords -
資源清單:特定的串流名稱或 ARNs。
-
持續時間:實驗持續時間。這是可設定的。
-
強度:要調節的請求百分比。
所需的許可
-
kinesis:InjectApiError