例如:探索应用程序内部错误流 - Amazon Kinesis Data Analytics 开发人员指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

例如:探索应用程序内部错误流

Amazon Kinesis Data Analytics 为您创建的每个应用程序都提供应用程序内部错误流。应用程序无法处理的所有行将发送到此错误流。您可以考虑将错误流数据保存到外部目标以便于调查。

您将在控制台中执行以下练习。在这些示例中,您将通过编辑由发现过程推断的架构将错误引入输入配置中,然后验证已发送到错误流的行。

引入分析错误

在本练习中,您引入了分析错误。

  1. 按照 Kinesis 数据分析中的说明创建 Kinesis Data Analytics 应用程序开始使用练习。

  2. 在应用程序详细信息页面上,选择 Connect streaming data (连接流数据)

  3. 如果已完成入门练习,则账户中会有一个演示流 (kinesis-analytics-demo-stream)。在 Connect to source (连接到源) 页面上,选择此演示流。

  4. Kinesis Data Analytics 使用演示流中的示例来推断其创建的应用程序内部输入流的架构。控制台在 Formatted stream sample 选项卡中显示推断的架构和示例数据。

  5. 接下来,可以编辑架构并修改列类型以引入分析错误。选择 Edit schema

  6. TICKER_SYMBOL 列类型从 VARCHAR(4) 更改为 INTEGER

    现在,创建的应用程序内部架构中的列类型无效,因此 Kinesis Data Analytics 无法将数据引入应用程序内部流。而只能将行发送到错误流。

  7. 选择 Save schema

  8. 选择 Refresh schema samples

    请注意,Formatted stream 示例中没有行。不过,Error stream 选项卡将显示数据与错误消息。Error stream 选项卡将显示已发送到应用程序内部错误流的数据。

    因为已更改列数据类型,所以 Kinesis Data Analytics 无法将数据引入应用程序内部输入流。而只能将数据发送到错误流。

引入被零除错误

在本练习中,您将更新应用程序代码以引入运行时错误 (被零除)。请注意,Amazon Kinesis Data Analytics 将结果行发送到应用程序内部错误流,而不是发送到DESTINATION_SQL_STREAM应用程序内部流,结果应该写入。

  1. 按照 Kinesis 数据分析中的说明创建 Kinesis Data Analytics 应用程序开始使用练习。

    验证 Real-time analytics 选项卡上的结果,如下所示:

    Sour

  2. 在应用程序代码中更新 SELECT 语句以引入被零除;例如:

    SELECT STREAM ticker_symbol, sector, change, (price / 0) as ProblemColumn FROM "SOURCE_SQL_STREAM_001" WHERE sector SIMILAR TO '%TECH%';

  3. 运行应用程序。

    因为出现被零除运行时错误,所以不是将结果写入DESTINATION_SQL_STREAM,Kinesis Data Analytics 将行发送到应用程序内部错误流。在 Real-time analytics (实时分析) 选项卡上,选择错误流,随后应用程序内部错误流中将显示行。