AddApplicationReferenceDataSource - 适用于 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 不仅操作简单,还具有高级分析功能,使您能够在几分钟内构建复杂的流处理应用程序。

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

AddApplicationReferenceDataSource

注意

本文档适用于 Amazon Kinesis Data Analytics API 版本 1,该版本仅支持 SQL 应用程序。版本 2 的 API 支持 SQL 和 Java 应用程序。有关版本 2 的更多信息,请参阅 Amazon Kinesis Data Analytics API V2 文档

将引用数据源添加到现有应用程序。

Amazon Kinesis Analytics 读取参考数据(即 Amazon S3 对象),并在应用程序中创建应用程序内部表。在请求中,您提供源(S3 存储桶名称和对象键名称),要创建的应用程序内部表的名称,以及描述 Amazon S3 对象中的数据如何映射到所生成应用程序内部表中的列的必要映射信息。

有关概念信息,请参阅配置应用程序输入。有关您可以添加到应用程序的数据源的限制,请参阅限制

此操作需要执行 kinesisanalytics:AddApplicationOutput 操作的权限。

请求语法

{ "ApplicationName": "string", "CurrentApplicationVersionId": number, "ReferenceDataSource": { "ReferenceSchema": { "RecordColumns": [ { "Mapping": "string", "Name": "string", "SqlType": "string" } ], "RecordEncoding": "string", "RecordFormat": { "MappingParameters": { "CSVMappingParameters": { "RecordColumnDelimiter": "string", "RecordRowDelimiter": "string" }, "JSONMappingParameters": { "RecordRowPath": "string" } }, "RecordFormatType": "string" } }, "S3ReferenceDataSource": { "BucketARN": "string", "FileKey": "string", "ReferenceRoleARN": "string" }, "TableName": "string" } }

请求参数

请求接受采用 JSON 格式的以下数据。

ApplicationName

现有应用程序的名称。

类型:字符串

长度限制:长度下限为 1。长度上限为 128。

模式:[a-zA-Z0-9_.-]+

必需:是

CurrentApplicationVersionId

要为其添加引用数据来源的应用程序的版本。您可以使用 DescribeApplication 操作来获得当前应用程序版本。如果指定的版本不是当前版本,则返回 ConcurrentModificationException

类型:长整型

有效范围:最小值为 1。最大值为 999999999。

必需:是

ReferenceDataSource

参考数据源可以是 Amazon S3 存储桶中的对象。Amazon Kinesis Analytics 读取对象,并将数据复制到创建的应用程序内部表。您需要提供 S3 存储桶、对象键名称和创建的结果应用程序内部表。您还必须提供具有必要权限的 IAM 角色,Amazon Kinesis Analytics 可以代入该角色代表您从 S3 存储桶中读取对象。

类型:ReferenceDataSource 对象

必需:是

响应元素

如果此操作成功,则该服务会发送回带有空 HTTP 正文的 HTTP 200 响应。

错误

ConcurrentModificationException

由于对应用程序进行并发修改而引发的异常。例如,两个人尝试同时编辑同一个应用程序。

HTTP 状态代码:400

InvalidArgumentException

指定的输入参数值无效。

HTTP 状态代码:400

ResourceInUseException

该应用程序不可用于此操作。

HTTP 状态代码:400

ResourceNotFoundException

无法找到指定的应用程序。

HTTP 状态代码:400

UnsupportedOperationException

请求被拒绝,因为不支持指定的参数或指定的资源对此操作无效。

HTTP 状态代码:400

另请参阅

有关在特定语言的 Amazon SDK 中使用此 API 的更多信息,请参阅以下内容: