示例:创建简单警报 - 适用于 SQL 应用程序的 Amazon Kinesis Data Analytics 开发人员指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

对于新项目,建议您使用新的适用于 Apache Flink Studio 的托管服务,而不是使用适用于 SQL 应用程序的 Kinesis Data Analytics。Managed Service for Apache Flink Studio 不仅操作简单,还具有高级分析功能,使您能够在几分钟内构建复杂的流处理应用程序。

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

示例:创建简单警报

在此 Kinesis Data Analytics 应用程序中,将在通过演示流创建的应用程序内部流上持续运行查询。有关更多信息,请参阅 连续查询

如果任何行显示股票价格变动大于 1%,这些行将被插入另一个应用程序内部流中。在本练习中,可以将应用程序输出配置为将结果保存到外部目标。随后,可以进一步调查结果。例如,您可以使用 Amazon Lambda 函数处理记录和发送警报。

创建简单的警报应用程序
  1. 创建分析应用程序,如 Kinesis Data Analytics 入门练习中所述。

  2. 在 Kinesis Data Analytics 上的 SQL 编辑器中,将应用程序代码替换为以下内容:

    CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (ticker_symbol VARCHAR(4), sector VARCHAR(12), change DOUBLE, price DOUBLE); CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT STREAM ticker_symbol, sector, change, price FROM "SOURCE_SQL_STREAM_001" WHERE (ABS(Change / (Price - Change)) * 100) > 1;

    应用程序代码中的 SELECT 语句可在 SOURCE_SQL_STREAM_001 中筛选出股票价格变化大于 1% 的行。之后,该代码将使用数据泵将这些行插入到另一个应用程序内部流 DESTINATION_SQL_STREAM。有关说明使用数据泵将行插入应用程序内部流中的编码模式的更多信息,请参阅应用程序代码

  3. 选择 保存并运行 SQL

  4. 添加一个目标。为此,请在 SQL 编辑器中选择 Destination (目标),也可以在应用程序中心中选择 Add a destination (添加目标)

    1. 在 SQL 编辑器中,选择 Destination (目标) 选项卡,然后选择 Connect to a destination (连接到目标)

      Connect to destination (连接到目标) 页面中,选择 Create New (新建)

    2. 选择 Go to Kinesis Streams

    3. 在 Amazon Kinesis Data Streams 控制台中,创建具有一个分片的新 Kinesis 流(例如,gs-destination)。请等待,直到流状态为 ACTIVE

    4. 返回 Kinesis Data Analytics 控制台。在 Connect to destination (连接到目标) 页面上,选择您创建的流。

      如果流未显示,请刷新页面。

    5. 选择 保存并继续

    现在,您具有一个外部目标(Kinesis 数据流),Kinesis Data Analytics 将 DESTINATION_SQL_STREAM 应用程序内部流中的应用程序输出永久保存到该目标中。

  5. 配置 Amazon Lambda 以监控您创建的 Kinesis 流并调用一个 Lambda 函数。

    有关说明,请参阅 使用 Lambda 函数预处理数据