錯誤處理 - Amazon Kinesis Data Analytics for SQL Applications 開發人員指南

在仔細考慮之後,我們決定在兩個步驟中停止 Amazon Kinesis Data Analytics for SQL 應用程式:

1. 從 2025 年 10 月 15 日起,您將無法為SQL應用程式建立新的 Kinesis Data Analytics。

2. 我們將從 2026 年 1 月 27 日起刪除您的應用程式。您將無法啟動或操作SQL應用程式的 Amazon Kinesis Data Analytics。從那時SQL起,Amazon Kinesis Data Analytics 將不再提供 的支援。如需詳細資訊,請參閱Amazon Kinesis Data Analytics for SQL 應用程式終止

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

錯誤處理

Amazon Kinesis Data Analytics 會直接傳回 API 或 SQL 錯誤給您。如需 API 操作的詳細資訊,請參閱 動作。如需有關處理 SQL 錯誤的詳細資訊,請參閱 Amazon Kinesis Data Analytics SQL 參考資料

Amazon Kinesis Data Analytics 會使用名為 error_stream 的應用程式內錯誤串流來報告執行期錯誤。

使用應用程式內錯誤串流回報錯誤

Amazon Kinesis Data Analytics 會使用名為 error_stream 的應用程式內錯誤串流來報告執行期錯誤。以下是可能發生的錯誤範例:

  • 從串流來源讀取的記錄不符合輸入結構描述。

  • 您的應用程式碼會指定除以零。

  • 資料列失序 (例如,串流上出現一筆帶有 ROWTIME 值的記錄,使用者修改該值導致記錄失序)。

  • 來源串流中的資料,無法轉換為結構描述中指定的資料類型 (強制錯誤)。若要取得可轉換哪些資料類型的資訊,請參閱 將 JSON 資料類型映射到 SQL 資料類型

我們建議您以程式設計方式在 SQL 程式碼中處理這些錯誤,或將錯誤串流上的資料保存到外部目的地。此舉需要您將輸出配置 (請參閱 設定應用程式輸出) 添加到應用程式中。如需應用程式內錯誤串流運作方式的範例,請參閱 範例:探索應用程式內錯誤串流

注意

Kinesis Data Analytics 應用程式無法以程式設計方式存取或修改錯誤串流,因為錯誤串流是使用系統帳戶建立的。您必須使用錯誤輸出來判斷應用程式可能會遇到的錯誤。然後,您可以撰寫應用程式的 SQL 程式碼來處理預期的錯誤狀況。

錯誤串流結構描述

錯誤串流具有以下結構描述:

欄位

資料類型

備註

ERROR_TIME

TIMESTAMP

發生錯誤的時間

ERROR_LEVEL

VARCHAR(10)

ERROR_NAME

VARCHAR(32)

MESSAGE

VARCHAR(4096)

DATA_ROWTIME

TIMESTAMP

傳入記錄的列時間

DATA_ROW

VARCHAR(49152)

原始資料列中的十六進位編碼資料。您可以使用標準程式庫為此值進行十六進位解碼,或者使用 Web 資源,例如此十六進位到字串轉換器

PUMP_NAME

VARCHAR(128)

原始幫浦,如 CREATE PUMP 之定義