对于新项目,我们建议您使用新的 Kinesis Data Analytics 工作室,而不是 SQL 应用程序的 Kinesis Data Analytics。Kinesis Data Analytics Studio 将易用性与高级分析功能相结合,使您能够在几分钟内构建复杂的流处理应用程序。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置应用程序输出
在您的应用程序代码中,将 SQL 语句的输出写入一个或多个应用程序内部流。您可以选择将输出配置添加到您的应用程序。将写入以将所有写入到应用程序内部流的 Amazon Kinesis 数据流、Kinesis Data Firehose 传输流或Amazon Lambda函数。
可以用来永久保存应用程序输出的外部目标的数量有限制。有关更多信息,请参阅Limits:
注意
建议用一个外部目标来永久保存应用程序内部错误流数据,以方便调查错误。
在所有这些输出配置中,可以提供以下内容:
-
应用程序内部流名称 - 要永久保存到外部目标的流。
Kinesis Data Analytics 会查找您在输出配置中指定的应用程序内流。(流名称区分大小写,并且必须完全匹配)。确保应用程序代码创建了这一应用程序内部流。
-
外部目标 — 您可以将数据保存到 Kinesis 数据流、Kinesis Data Firehose 传输流或 Lambda 函数。您需要提供流或函数的 Amazon 资源名称 (ARN)。您还提供可由 Kinesis Data Analytics 代入可由您写入可由。您可以向 Kinesis Data Analytics 描述写入外部目标时要使用的记录格式(JSON、CSV)。
如果 Kinesis Data Analytics 无法写入流媒体或 Lambda 目标,则该服务将继续无限期地尝试。这将产生反向压力,导致您的应用程序滞后。如果不能解决这一问题,您的应用程序最终将停止处理新数据。您可以监控 Kinesis Data Analytics 指标并设置故障警报。有关指标和警报的更多信息,请参阅使用亚马逊 CloudWatch指标和创建亚马逊 CloudWatch警报。
您可以使用 Amazon Web Services Management Console配置应用程序输出。控制台将调用 API 以保存配置。
使用 Amazon CLI 创建输出
此部分介绍如何为 CreateApplication
或 AddApplicationOutput
操作创建请求正文的 Outputs
部分。
创建 Kinesis 流的 AM
以下 JSON 片段显示了CreateApplication
请求正Outputs
文中用于创建 Amazon Kinesis 数据流目标的部分。
"Outputs": [ { "DestinationSchema": { "RecordFormatType": "string" }, "KinesisStreamsOutput": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string" } ]
创建 Kinesis Data Firehose 传输流的
以下 JSON 片段显示了CreateApplication
请求正Outputs
文中用于创建 Amazon Kinesis Data Firehose 传输流目的地的部分。
"Outputs": [ { "DestinationSchema": { "RecordFormatType": "string" }, "KinesisFirehoseOutput": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string" } ]
创建 Lambda 函数输出
以下 JSON 代码段显示用于创建 Amazon Lambda 函数目标的 CreateApplication
请求正文中的 Outputs
部分。
"Outputs": [ { "DestinationSchema": { "RecordFormatType": "string" }, "LambdaOutput": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string" } ]