经过仔细考虑,我们决定分两个步骤停用 Amazon Kinesis Data Analytics for SQL 应用程序:
1. 从 2025 年 10 月 15 日起,您将无法创建新的 Kinesis Data Analytics for SQL 应用程序。
2. 从 2026 年 1 月 27 日起,我们将删除您的应用程序。您将无法启动或操作 Amazon Kinesis Data Analytics for SQL 应用程序。从那时起,将不再提供对 Amazon Kinesis Data Analytics for SQL 的支持。有关更多信息,请参阅 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 资源,如 Hex to String Converter |
PUMP_NAME | VARCHAR(128) | 利用 |