配置应用程序输出 - 适用于 Amazon Kinesis Data Analytics·for·SQL 应用程序开发人员指南

经过仔细考虑,我们决定分两个步骤停用 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 应用程序停用

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

配置应用程序输出

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

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

注意

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

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

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

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

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

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

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

使用创建输出 AWS CLI

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

创建 Kinesis 流输出

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

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

创建 Firehose 传输流输出

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

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

创建 Lambda 函数输出

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

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