配置应用程序输出 - Amazon Kinesis Data Analytics for SQL 应用程序开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

配置应用程序输出

在您的应用程序代码中,将 SQL 语句的输出写入一个或多个应用程序内部流。您可以选择在应用程序中添加输出配置,以便将写入到应用程序内部流的所有内容永久保存到外部目标中,如 Amazon Kinesis 数据流、Kinesis Data Firehose 传输流或 AWS Lambda 函数。

可以用来永久保存应用程序输出的外部目标的数量有限制。有关更多信息,请参阅限制

注意

建议用一个外部目标来永久保存应用程序内部错误流数据,以方便调查错误。

在所有这些输出配置中,可以提供以下内容:

  • 应用程序内部流名称 – 要永久保存到外部目标的流。

    Kinesis Data Analytics 查找在输出配置中指定的应用程序内部流。(流名称区分大小写,并且必须完全匹配)。 确保应用程序代码创建了这一应用程序内部流。

  • 外部目标 – 您可以将数据永久保存到 Kinesis 数据流、Kinesis Data Firehose 传输流或 Lambda 函数中。您需要提供流或函数的 Amazon 资源名称 (ARN)。您还需要提供 Kinesis Data Analytics 代表您写入到流或函数时代入的 IAM 角色。您描述在写入到外部目标时 Kinesis Data Analytics 使用的记录格式(JSON、CSV)。

如果 Kinesis Data Analytics 无法写入到流或 Lambda 目标,该服务将继续无限期地进行尝试。这将产生反向压力,导致您的应用程序滞后。如果不能解决这一问题,您的应用程序最终将停止处理新数据。您可以监控 Kinesis Data Analytics 指标并设置故障警报。有关指标和警报的更多信息,请参阅使用 Amazon CloudWatch 指标创建 Amazon CloudWatch 警报

您可以使用 AWS 管理控制台配置应用程序输出。控制台将调用 API 以保存配置。

使用 AWS CLI 创建输出

此部分介绍如何为 CreateApplicationAddApplicationOutput 操作创建请求正文的 Outputs 部分。

创建 Kinesis 流输出

以下 JSON 代码段显示用于创建 Amazon Kinesis 数据流目标的 CreateApplication 请求正文中的 Outputs 部分。

"Outputs": [ { "DestinationSchema": { "RecordFormatType": "string" }, "KinesisStreamsOutput": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string" } ]

创建 Kinesis Data Firehose 传输流输出

以下 JSON 代码段显示用于创建 Amazon Kinesis Data Firehose 传输流目标的 CreateApplication 请求正文中的 Outputs 部分。

"Outputs": [ { "DestinationSchema": { "RecordFormatType": "string" }, "KinesisFirehoseOutput": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string" } ]

创建 Lambda 函数输出

以下 JSON 代码段显示用于创建 AWS Lambda 函数目标的 CreateApplication 请求正文中的 Outputs 部分。

"Outputs": [ { "DestinationSchema": { "RecordFormatType": "string" }, "LambdaOutput": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string" } ]