View a markdown version of this page

迭代器例外錯誤已過期 - Amazon Kinesis Data Streams

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

迭代器例外錯誤已過期

過期的疊代運算例外錯誤 (HTTP 400) 會在碎片疊代運算過期時發生,而且不再用於在呼叫 時擷取串流記錄GetRecords。當讀取操作之間發生延遲,這是由於長時間執行的資料處理任務、網路問題或應用程式停機時間所造成。

注意

碎片疊代運算在發出後 5 分鐘內有效。

處理例外狀況的建議
  • 在碎片迭代器過期之前重新整理碎片迭代器。

  • 整合錯誤處理以取得新的迭代器。

  • 使用 Kinesis Kinesis Client Library (KCL) 來自動管理碎片迭代器過期。

如需詳細資訊,請參閱什麼是 AWS Fault Injection Service?

執行基本實驗
  1. 建立實驗範本:使用 AWS FIS 主控台。

  2. 選取動作:使用 aws:kinesis:inject-api-expired-iterator-exception動作。

  3. 設定目標:指定 IAM 角色和 Kinesis Data Streamsoperations。

  4. 設定持續時間:從初始測試的 5-10 分鐘開始。

  5. 新增停止條件:停止條件 AWS FIS

  6. 執行實驗:監控應用程式行為。

動作詳細資訊
  • 資源類型:IAM 角色 ARN

  • 目標操作GetRecords

  • 錯誤代碼ExpiredIteratorException(HTTP 400)

  • 描述:提供的迭代器超過允許的最長存留期,模擬記錄處理太慢或檢查點邏輯失敗的案例。

Parameters
  • IAM 角色 ARN:您的應用程式用於 Kinesis Data Streams 操作的角色。

  • 操作:目標操作: GetRecords

  • 資源清單:特定的串流名稱或 ARNs。

  • 持續時間:實驗持續時間。這是可設定的。

  • 強度:要調節的請求百分比。

所需的許可
  • kinesis:InjectApiError