对于新项目,我们建议您使用新的 Kinesis Data Analytics 工作室,而不是 SQL 应用程序的 Kinesis Data Analytics。Kinesis Data Analytics Studio 将易用性与高级分析功能相结合,使您能够在几分钟内构建复杂的流处理应用程序。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
DiscoverInputSchema
注意
本文档适用于 Amazon Kinesis Data Analytics API 版本 1,该版本仅支持 SQL 应用程序。版本 2 的 API 支持 SQL 和 Java 应用程序。有关版本 2 的更多信息,请参阅 Amazon Kinesis Data Analytics API V2 文档。
通过评估指定流源(亚马逊 Kinesis 流或 Amazon Kinesis Amazon Kinesis Firehose e 传输流)或 S3 对象上的示例记录来推断架构。在响应中,该操作返回推断的架构以及该操作用于推断架构的示例记录。
在为应用程序配置流源时,您可以使用推断的架构。有关概念信息,请参阅配置应用程序输入。请注意,当您使用 Amazon Kinesis Analytics 控制台创建应用程序时,控制台使用此操作来推断架构并将其显示在控制台用户界面中。
此操作需要执行 kinesisanalytics:DiscoverInputSchema
操作的权限。
请求语法
{
"InputProcessingConfiguration": {
"InputLambdaProcessor": {
"ResourceARN": "string
",
"RoleARN": "string
"
}
},
"InputStartingPositionConfiguration": {
"InputStartingPosition": "string
"
},
"ResourceARN": "string
",
"RoleARN": "string
",
"S3Configuration": {
"BucketARN": "string
",
"FileKey": "string
",
"RoleARN": "string
"
}
}
请求参数
请求接受采用 JSON 格式的以下数据。
- InputProcessingConfiguration
-
InputProcessingConfiguration用于在发现记录架构之前对记录进行预处理。
类型:InputProcessingConfiguration 对象
必需:否
- InputStartingPositionConfiguration
-
你想让 Amazon Kinesis Analytics 开始读取来自指定流媒体源发现目的的记录的时刻。
类型:InputStartingPositionConfiguration 对象
必需:否
- ResourceARN
-
流式源的 Amazon 资源名称(ARN)。
类型:字符串
长度限制:最小长度为 1。最大长度为 2048。
模式:
arn:.*
必需:否
- RoleARN
-
可由 Amazon Kinesis Analytics 代入以代表您访问流的 IAM 角色的 ARN。
类型:字符串
长度限制:最小长度为 1。最大长度为 2048。
模式:
arn:.*
必需:否
- S3Configuration
-
指定此参数可从 Amazon S3 对象中的数据中发现架构。
类型:S3Configuration 对象
必需:否
响应语法
{
"InputSchema": {
"RecordColumns": [
{
"Mapping": "string",
"Name": "string",
"SqlType": "string"
}
],
"RecordEncoding": "string",
"RecordFormat": {
"MappingParameters": {
"CSVMappingParameters": {
"RecordColumnDelimiter": "string",
"RecordRowDelimiter": "string"
},
"JSONMappingParameters": {
"RecordRowPath": "string"
}
},
"RecordFormatType": "string"
}
},
"ParsedInputRecords": [
[ "string" ]
],
"ProcessedInputRecords": [ "string" ],
"RawInputRecords": [ "string" ]
}
响应元素
如果此操作成功,则该服务将会发送回 HTTP 200 响应。
服务以 JSON 格式返回的以下数据。
- InputSchema
-
从流媒体源推断出来的架构。它可识别流式源中的数据的格式以及每个数据元素映射到您可以创建应用程序内部流中的相应列的方式。
类型:SourceSchema 对象
- ParsedInputRecords
-
元素数组,其中每个元素对应流记录中的一行(一条流记录可以有多行)。
类型:字符串数组
- ProcessedInputRecords
-
由
InputProcessingConfiguration
参数中指定的处理器修改的流数据。类型:字符串数组
- RawInputRecords
-
为推断架构而采样的原始流数据。
类型:字符串数组
错误
- InvalidArgumentException
-
指定的输入参数值无效。
HTTP 状态代码:400
- ResourceProvisionedThroughputExceededException
-
由于亚马逊 Kinesis Streams 的缘故,Discovery 未能从直播来源获得记录 ProvisionedThroughputExceededException。有关更多信息,请参阅 GetRecordsAmazon Kinesis Streams Streams Streams Streams
HTTP 状态代码:400
- ServiceUnavailableException
-
该服务不可用。请退后并重试该操作。
HTTP 状态代码:500
- UnableToDetectSchemaException
-
数据格式无效。Amazon Kinesis Analytics 无法检测给定流媒体源的架构。
HTTP 状态代码:400
- UnsupportedOperationException
-
由于不支持指定的参数或指定的资源对此操作无效,请求被拒绝。
HTTP 状态代码:400
另请参阅
有关在特定语言的 Amazon 软件开发工具包中使用此 API 的更多信息,请参阅以下内容: