

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

# AddApplicationReferenceDataSource
<a name="API_AddApplicationReferenceDataSource"></a>

将引用数据源添加到现有的基于 SQL 的 Kinesis Data Analytics 应用程序。

Kinesis Data Analytics 读取参考数据（即 Amazon S3 对象），并在应用程序中创建应用程序内部表。在请求中，您提供源（S3 存储桶名称和对象键名称）、要创建的应用程序内部表的名称，以及描述 Amazon S3 对象中的数据如何映射到所生成应用程序内部表中的列的必要映射信息。

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

```
{
   "ApplicationName": "string",
   "CurrentApplicationVersionId": number,
   "ReferenceDataSource": { 
      "ReferenceSchema": { 
         "RecordColumns": [ 
            { 
               "Mapping": "string",
               "Name": "string",
               "SqlType": "string"
            }
         ],
         "RecordEncoding": "string",
         "RecordFormat": { 
            "MappingParameters": { 
               "CSVMappingParameters": { 
                  "RecordColumnDelimiter": "string",
                  "RecordRowDelimiter": "string"
               },
               "JSONMappingParameters": { 
                  "RecordRowPath": "string"
               }
            },
            "RecordFormatType": "string"
         }
      },
      "S3ReferenceDataSource": { 
         "BucketARN": "string",
         "FileKey": "string"
      },
      "TableName": "string"
   }
}
```

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

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

 ** [ApplicationName](#API_AddApplicationReferenceDataSource_RequestSyntax) **   <a name="APIReference-AddApplicationReferenceDataSource-request-ApplicationName"></a>
现有应用程序的名称。  
类型：字符串  
长度限制：最小长度为 1。最大长度为 128。  
模式：`[a-zA-Z0-9_.-]+`  
是否必需：是

 ** [CurrentApplicationVersionId](#API_AddApplicationReferenceDataSource_RequestSyntax) **   <a name="APIReference-AddApplicationReferenceDataSource-request-CurrentApplicationVersionId"></a>
要为其添加引用数据来源的应用程序的版本。您可以使用 [DescribeApplication](API_DescribeApplication.md) 操作来获取当前的应用程序版本。如果指定的版本不是当前版本，则返回 `ConcurrentModificationException`。  
类型：长整型  
有效范围：最小值为 1。最大值为 999999999。  
是否必需：是

 ** [ReferenceDataSource](#API_AddApplicationReferenceDataSource_RequestSyntax) **   <a name="APIReference-AddApplicationReferenceDataSource-request-ReferenceDataSource"></a>
参考数据源可以是 Amazon S3 存储桶中的对象。Kinesis Data Analytics 读取对象并将数据复制到创建的应用程序内表中。您需要提供 S3 存储桶、对象键名称和创建的结果应用程序内部表。  
类型：[ReferenceDataSource](API_ReferenceDataSource.md) 对象  
是否必需：是

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

```
{
   "ApplicationARN": "string",
   "ApplicationVersionId": number,
   "ReferenceDataSourceDescriptions": [ 
      { 
         "ReferenceId": "string",
         "ReferenceSchema": { 
            "RecordColumns": [ 
               { 
                  "Mapping": "string",
                  "Name": "string",
                  "SqlType": "string"
               }
            ],
            "RecordEncoding": "string",
            "RecordFormat": { 
               "MappingParameters": { 
                  "CSVMappingParameters": { 
                     "RecordColumnDelimiter": "string",
                     "RecordRowDelimiter": "string"
                  },
                  "JSONMappingParameters": { 
                     "RecordRowPath": "string"
                  }
               },
               "RecordFormatType": "string"
            }
         },
         "S3ReferenceDataSourceDescription": { 
            "BucketARN": "string",
            "FileKey": "string",
            "ReferenceRoleARN": "string"
         },
         "TableName": "string"
      }
   ]
}
```

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

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

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

 ** [ApplicationARN](#API_AddApplicationReferenceDataSource_ResponseSyntax) **   <a name="APIReference-AddApplicationReferenceDataSource-response-ApplicationARN"></a>
 应用程序 Amazon 资源名称 (ARN)。  
类型：字符串  
长度限制：最小长度为 1。最大长度为 2048。  
模式：`arn:.*`

 ** [ApplicationVersionId](#API_AddApplicationReferenceDataSource_ResponseSyntax) **   <a name="APIReference-AddApplicationReferenceDataSource-response-ApplicationVersionId"></a>
更新的应用程序版本 ID。应用程序更新时，Kinesis Data Analytics 会增加此 ID。  
类型：长整型  
有效范围：最小值为 1。最大值为 999999999。

 ** [ReferenceDataSourceDescriptions](#API_AddApplicationReferenceDataSource_ResponseSyntax) **   <a name="APIReference-AddApplicationReferenceDataSource-response-ReferenceDataSourceDescriptions"></a>
描述为应用程序配置的引用数据来源。  
类型：[ReferenceDataSourceDescription](API_ReferenceDataSourceDescription.md) 对象数组

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

 ** ConcurrentModificationException **   
由于对应用程序进行并发修改而引发的异常。此错误可能是由于在未使用当前应用程序 ID 的情况下尝试修改应用程序所致。  
HTTP 状态代码：400

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

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

 ** ResourceInUseException **   
该应用程序不可用于此操作。  
HTTP 状态代码：400

 ** ResourceNotFoundException **   
无法找到指定的应用程序。  
HTTP 状态代码：400

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

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