DiscoverInputSchema - Amazon Managed Servics for Apache Flink(前身为 Amazon Kinesis Data Analytics for Apache Flink)

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

DiscoverInputSchema

通过评估指定流源(Kinesis 数据流或 Kinesis Data Firehose 传输流)或 Amazon S3 对象上的样本记录,推断基于 SQL 的 Kinesis Data Analytics 应用程序的架构。在响应中,该操作返回推断的架构以及该操作用于推断架构的示例记录。

在为应用程序配置流式传输来源时,您可以使用此推断的架构。当您使用 Kinesis Data Analytics 控制台创建应用程序时,控制台使用此操作来推断架构并将其显示在控制台用户界面中。

请求语法

{ "InputProcessingConfiguration": { "InputLambdaProcessor": { "ResourceARN": "string" } }, "InputStartingPositionConfiguration": { "InputStartingPosition": "string" }, "ResourceARN": "string", "S3Configuration": { "BucketARN": "string", "FileKey": "string" }, "ServiceExecutionRole": "string" }

请求参数

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

InputProcessingConfiguration

InputProcessingConfiguration 用于在发现记录架构之前对记录进行预处理。

类型:InputProcessingConfiguration 对象

必需:否

InputStartingPositionConfiguration

您希望 Kinesis Data Analytics 开始从指定流媒体源读取记录以进行发现的时刻。

类型:InputStartingPositionConfiguration 对象

必需:否

ResourceARN

流式传输来源的 Amazon 资源名称(ARN)。

类型:字符串

长度限制:最小长度为 0。最大长度为 2048。

模式:arn:.*

必需:否

S3Configuration

指定此参数可从 Amazon S3 对象中的数据发现架构。

类型:S3Configuration 对象

必需:否

ServiceExecutionRole

用于访问流式传输来源的角色的 ARN。

类型:字符串

长度限制:最小长度为 0。最大长度为 2048。

模式:arn:.*

必需:是

响应语法

{ "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

InvalidRequestException

操作的请求 JSON 无效。

HTTP 状态代码:400

ResourceProvisionedThroughputExceededException

由于 Kinesis Streams ProvisionedThroughputExceededException,Discovery 未能从流式传输来源获得记录。有关更多信息,请参阅GetRecords《亚马逊 Kinesis Streams API 参考》。

HTTP 状态代码:400

ServiceUnavailableException

服务无法完成请求。

HTTP 状态代码:500

UnableToDetectSchemaException

数据格式无效。Kinesis Data Analytics 无法检测到给定直播源的架构。

HTTP 状态代码:400

UnsupportedOperationException

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

HTTP 状态代码:400

另请参阅

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