本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
DiscoverInputSchema
本文档适用于 Amazon Kinesis Data Analytics API 版本 1,该版本仅支持 SQL 应用程序。版本 2 的 API 支持 SQL 和 Java 应用程序。有关版本 2 的更多信息,请参阅 Amazon Kinesis Data Analytics API V2 文档。
通过评估指定流媒体源(Amazon Kinesis 流或 Amazon Kinesis Firehose 交付流)或 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
-
由于 Amazon Kinesis 流预配了吞吐量 ExCEdeExcException,发现无法从流媒体源获取记录。有关更多信息,请参阅 。GetRecords在 Amazon Kinesis Streams API 参考中。
HTTP 状态代码:400
- ServiceUnavailableException
-
该服务不可用。重试该操作。
HTTP 状态代码:500
- UnableToDetectSchemaException
-
数据格式无效。Amazon Kinesis Analytics 无法检测给定流媒体源的架构。
HTTP 状态代码:400
- UnsupportedOperationException
-
请求被拒绝,原因是不支持指定的参数或指定的资源对此操作无效。
HTTP 状态代码:400
另请参阅
有关在特定语言的Amazon软件开发工具包中使用此 API 的更多信息,请参阅以下内容: