

经过仔细考虑，我们决定停用适用于 SQL 应用程序的 Amazon Kinesis Data Analytics：

1. 从 **2025年9月1日起，**我们将不再为适用于SQL应用程序的Amazon Kinesis Data Analytics Data Analytics提供任何错误修复，因为鉴于即将停产，我们对其的支持将有限。

2. 从 **2025 年 10 月 15 日**起，您将无法为 SQL 应用程序创建新的 Kinesis Data Analytics。

3. 从 **2026 年 1 月 27 日**起，我们将删除您的应用程序。您将无法启动或操作 Amazon Kinesis Data Analytics for SQL 应用程序。从那时起，将不再提供对 Amazon Kinesis Data Analytics for SQL 的支持。有关更多信息，请参阅 [Amazon Kinesis Data Analytics for SQL 应用程序停用](discontinuation.md)。

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

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

**注意**  
本文档适用于 Amazon Kinesis Data Analytics API 版本 1，该版本仅支持 SQL 应用程序。版本 2 的 API 支持 SQL 和 Java 应用程序。有关版本 2 的更多信息，请参阅 [Amazon Kinesis Data Analytics API V2 文档](/kinesisanalytics/latest/apiv2/Welcome.html)。

将引用数据源添加到现有应用程序。

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

 有关概念信息，请参阅[配置应用程序输入](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html)。有关您可以添加到应用程序的数据源的限制，请参阅[限制](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html)。

 此操作需要执行 `kinesisanalytics:AddApplicationOutput` 操作的权限。

## 请求语法
<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",
         "ReferenceRoleARN": "string"
      },
      "TableName": "string"
   }
}
```

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

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

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

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

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

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

如果此操作成功，则该服务会发送回带有空 HTTP 正文的 HTTP 200 响应。

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

 ** ConcurrentModificationException **   
由于对应用程序进行并发修改而引发的异常。例如，两个人尝试同时编辑同一个应用程序。    
 ** message **   

HTTP 状态代码：400

 ** InvalidArgumentException **   
指定的输入参数值无效。    
 ** message **   

HTTP 状态代码：400

 ** ResourceInUseException **   
该应用程序不可用于此操作。    
 ** message **   

HTTP 状态代码：400

 ** ResourceNotFoundException **   
无法找到指定的应用程序。    
 ** message **   

HTTP 状态代码：400

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

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

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