DiscoverInputSchema - SQL适用于应用程序的 Amazon Kinesis Data Analytics 开发者指南

经过仔细考虑,我们决定分两个步骤停止使用亚马逊 Kinesis Data Analytics SQL 的应用程序:

1. 从 2025 年 10 月 15 日起,您将无法为应用程序创建新的 Kinesis Data Analytic SQL s。

2. 我们将从 2026 年 1 月 27 日起删除您的申请。您将无法启动或操作适用于应用程序的 Amazon Kinesis Data Analytic SQL s。从那时起,亚马逊 Kinesis Data Analytics SQL 将不再提供支持。有关更多信息,请参阅 适用于应用程序的 Amazon Kinesis Data Analytic SQL s 停产

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

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)。

类型:字符串

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

模式:arn:.*

必需:否

RoleARN

可由 Amazon Kinesis Analytics 代入以代表您访问流的 IAM 角色的 ARN。

类型:字符串

长度限制:最小长度为 0。最大长度为 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 的缘故,Dis ProvisionedThroughputExceededException covery 未能从直播来源获得记录。有关更多信息,请参阅GetRecords《亚马逊 Kinesis Streams API 参考》。

HTTP 状态代码:400

ServiceUnavailableException

该服务不可用。退后一步,重试该操作。

HTTP 状态代码:500

UnableToDetectSchemaException

数据格式无效。Amazon Kinesis Analytics 无法检测给定流式传输源的架构。

HTTP 状态代码:400

UnsupportedOperationException

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

HTTP 状态代码:400

另请参阅

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