

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

# DiscoverInputSchema
<a name="API_DiscoverInputSchema"></a>

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

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

## 请求语法
<a name="API_DiscoverInputSchema_RequestSyntax"></a>

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

## 请求参数
<a name="API_DiscoverInputSchema_RequestParameters"></a>

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

 ** [InputProcessingConfiguration](#API_DiscoverInputSchema_RequestSyntax) **   <a name="APIReference-DiscoverInputSchema-request-InputProcessingConfiguration"></a>
[InputProcessingConfiguration](API_InputProcessingConfiguration.md) 用于在发现记录架构之前对记录进行预处理。  
类型：[InputProcessingConfiguration](API_InputProcessingConfiguration.md) 对象  
必需：否

 ** [InputStartingPositionConfiguration](#API_DiscoverInputSchema_RequestSyntax) **   <a name="APIReference-DiscoverInputSchema-request-InputStartingPositionConfiguration"></a>
您希望 Kinesis Data Analytics 开始从指定流媒体源读取记录以进行发现的时刻。  
类型：[InputStartingPositionConfiguration](API_InputStartingPositionConfiguration.md) 对象  
必需：否

 ** [ResourceARN](#API_DiscoverInputSchema_RequestSyntax) **   <a name="APIReference-DiscoverInputSchema-request-ResourceARN"></a>
流式传输来源的 Amazon 资源名称（ARN）。  
类型：字符串  
长度限制：最小长度为 1。最大长度为 2048。  
模式：`arn:.*`  
必需：否

 ** [S3Configuration](#API_DiscoverInputSchema_RequestSyntax) **   <a name="APIReference-DiscoverInputSchema-request-S3Configuration"></a>
指定此参数可从 Amazon S3 对象中的数据发现架构。  
类型：[S3Configuration](API_S3Configuration.md) 对象  
必需：否

 ** [ServiceExecutionRole](#API_DiscoverInputSchema_RequestSyntax) **   <a name="APIReference-DiscoverInputSchema-request-ServiceExecutionRole"></a>
用于访问流式传输来源的角色的 ARN。  
类型：字符串  
长度限制：最小长度为 1。最大长度为 2048。  
模式：`arn:.*`  
必需：是

## 响应语法
<a name="API_DiscoverInputSchema_ResponseSyntax"></a>

```
{
   "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" ]
}
```

## 响应元素
<a name="API_DiscoverInputSchema_ResponseElements"></a>

如果此操作成功，则该服务将会发送回 HTTP 200 响应。

服务以 JSON 格式返回以下数据。

 ** [InputSchema](#API_DiscoverInputSchema_ResponseSyntax) **   <a name="APIReference-DiscoverInputSchema-response-InputSchema"></a>
从流式传输来源推断出的架构。它识别流式传输来源中数据的格式，以及每个数据元素如何映射到在应用程序内部流中创建的相应列。  
类型：[SourceSchema](API_SourceSchema.md) 对象

 ** [ParsedInputRecords](#API_DiscoverInputSchema_ResponseSyntax) **   <a name="APIReference-DiscoverInputSchema-response-ParsedInputRecords"></a>
一个元素数组，其中每个元素对应于流记录中的一行（流记录可以有多行）。  
类型：字符串数组的数组。

 ** [ProcessedInputRecords](#API_DiscoverInputSchema_ResponseSyntax) **   <a name="APIReference-DiscoverInputSchema-response-ProcessedInputRecords"></a>
由 `InputProcessingConfiguration` 参数中指定的处理器修改的流数据。  
类型：字符串数组

 ** [RawInputRecords](#API_DiscoverInputSchema_ResponseSyntax) **   <a name="APIReference-DiscoverInputSchema-response-RawInputRecords"></a>
为推断架构而采样的原始流数据。  
类型：字符串数组

## 错误
<a name="API_DiscoverInputSchema_Errors"></a>

 ** InvalidArgumentException **   
指定的输入参数值无效。  
HTTP 状态代码：400

 ** InvalidRequestException **   
操作的请求 JSON 无效。  
HTTP 状态代码：400

 ** ResourceProvisionedThroughputExceededException **   
由于 Kinesis Streams `ProvisionedThroughputExceededException`，Discovery 未能从流式传输来源获得记录。有关更多信息，请参阅[GetRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html)《亚马逊 Kinesis Streams API 参考》。  
HTTP 状态代码：400

 ** ServiceUnavailableException **   
服务无法完成请求。  
HTTP 状态代码：500

 ** UnableToDetectSchemaException **   
数据格式无效。Kinesis Data Analytics 无法检测到给定直播源的架构。    
 ** ProcessedInputRecords **   
由 `InputProcessingConfiguration` 参数中指定的处理器修改的流数据。  
 ** RawInputRecords **   
为推断架构而采样的原始流数据。
HTTP 状态代码：400

 ** UnsupportedOperationException **   
由于不支持指定的参数或指定的资源对此操作无效，请求被拒绝。  
HTTP 状态代码：400

## 另请参阅
<a name="API_DiscoverInputSchema_SeeAlso"></a>

有关以特定语言之一使用此 API 的更多信息 AWS SDKs，请参阅以下内容：
+  [AWS 命令行界面 V2](https://docs.aws.amazon.com/goto/cli2/kinesisanalyticsv2-2018-05-23/DiscoverInputSchema) 
+  [AWS 适用于.NET 的 SDK V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/kinesisanalyticsv2-2018-05-23/DiscoverInputSchema) 
+  [AWS 适用于 C\$1\$1 的 SDK](https://docs.aws.amazon.com/goto/SdkForCpp/kinesisanalyticsv2-2018-05-23/DiscoverInputSchema) 
+  [AWS 适用于 Go v2 的 SDK](https://docs.aws.amazon.com/goto/SdkForGoV2/kinesisanalyticsv2-2018-05-23/DiscoverInputSchema) 
+  [AWS 适用于 Java 的 SDK V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesisanalyticsv2-2018-05-23/DiscoverInputSchema) 
+  [AWS JavaScript V3 版软件开发工具包](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/kinesisanalyticsv2-2018-05-23/DiscoverInputSchema) 
+  [AWS 适用于 Kotlin 的 SDK](https://docs.aws.amazon.com/goto/SdkForKotlin/kinesisanalyticsv2-2018-05-23/DiscoverInputSchema) 
+  [AWS 适用于 PHP 的 SDK V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/kinesisanalyticsv2-2018-05-23/DiscoverInputSchema) 
+  [AWS Python 软件开发工具包](https://docs.aws.amazon.com/goto/boto3/kinesisanalyticsv2-2018-05-23/DiscoverInputSchema) 
+  [AWS 适用于 Ruby V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesisanalyticsv2-2018-05-23/DiscoverInputSchema) 