

经过仔细考虑，我们决定停用适用于 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)。

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

# UpdateApplication
<a name="API_UpdateApplication"></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 应用程序。使用此 API，您可以更新应用程序代码、输入配置和输出配置。

请注意，每次更新应用程序时，Amazon Kinesis Analytics 都会更新 `CurrentApplicationVersionId`。

此操作需要 `kinesisanalytics:UpdateApplication` 操作权限。

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

```
{
   "ApplicationName": "string",
   "ApplicationUpdate": { 
      "ApplicationCodeUpdate": "string",
      "CloudWatchLoggingOptionUpdates": [ 
         { 
            "CloudWatchLoggingOptionId": "string",
            "LogStreamARNUpdate": "string",
            "RoleARNUpdate": "string"
         }
      ],
      "InputUpdates": [ 
         { 
            "InputId": "string",
            "InputParallelismUpdate": { 
               "CountUpdate": number
            },
            "InputProcessingConfigurationUpdate": { 
               "InputLambdaProcessorUpdate": { 
                  "ResourceARNUpdate": "string",
                  "RoleARNUpdate": "string"
               }
            },
            "InputSchemaUpdate": { 
               "RecordColumnUpdates": [ 
                  { 
                     "Mapping": "string",
                     "Name": "string",
                     "SqlType": "string"
                  }
               ],
               "RecordEncodingUpdate": "string",
               "RecordFormatUpdate": { 
                  "MappingParameters": { 
                     "CSVMappingParameters": { 
                        "RecordColumnDelimiter": "string",
                        "RecordRowDelimiter": "string"
                     },
                     "JSONMappingParameters": { 
                        "RecordRowPath": "string"
                     }
                  },
                  "RecordFormatType": "string"
               }
            },
            "KinesisFirehoseInputUpdate": { 
               "ResourceARNUpdate": "string",
               "RoleARNUpdate": "string"
            },
            "KinesisStreamsInputUpdate": { 
               "ResourceARNUpdate": "string",
               "RoleARNUpdate": "string"
            },
            "NamePrefixUpdate": "string"
         }
      ],
      "OutputUpdates": [ 
         { 
            "DestinationSchemaUpdate": { 
               "RecordFormatType": "string"
            },
            "KinesisFirehoseOutputUpdate": { 
               "ResourceARNUpdate": "string",
               "RoleARNUpdate": "string"
            },
            "KinesisStreamsOutputUpdate": { 
               "ResourceARNUpdate": "string",
               "RoleARNUpdate": "string"
            },
            "LambdaOutputUpdate": { 
               "ResourceARNUpdate": "string",
               "RoleARNUpdate": "string"
            },
            "NameUpdate": "string",
            "OutputId": "string"
         }
      ],
      "ReferenceDataSourceUpdates": [ 
         { 
            "ReferenceId": "string",
            "ReferenceSchemaUpdate": { 
               "RecordColumns": [ 
                  { 
                     "Mapping": "string",
                     "Name": "string",
                     "SqlType": "string"
                  }
               ],
               "RecordEncoding": "string",
               "RecordFormat": { 
                  "MappingParameters": { 
                     "CSVMappingParameters": { 
                        "RecordColumnDelimiter": "string",
                        "RecordRowDelimiter": "string"
                     },
                     "JSONMappingParameters": { 
                        "RecordRowPath": "string"
                     }
                  },
                  "RecordFormatType": "string"
               }
            },
            "S3ReferenceDataSourceUpdate": { 
               "BucketARNUpdate": "string",
               "FileKeyUpdate": "string",
               "ReferenceRoleARNUpdate": "string"
            },
            "TableNameUpdate": "string"
         }
      ]
   },
   "CurrentApplicationVersionId": number
}
```

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

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

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

 ** [ApplicationUpdate](#API_UpdateApplication_RequestSyntax) **   <a name="analytics-UpdateApplication-request-ApplicationUpdate"></a>
描述应用程序的更新。  
类型：[ApplicationUpdate](API_ApplicationUpdate.md) 对象  
是否必需：是

 ** [CurrentApplicationVersionId](#API_UpdateApplication_RequestSyntax) **   <a name="analytics-UpdateApplication-request-CurrentApplicationVersionId"></a>
当前应用程序版本 ID。要获取此值，您可以使用 [DescribeApplication](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) 命令。  
类型：长整型  
有效范围：最小值为 1。最大值为 999999999。  
是否必需：是

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

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

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

 ** CodeValidationException **   
用户提供的应用程序代码（查询）无效。这可能是一个简单的语法错误。    
 ** message **   
测试
HTTP 状态代码：400

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

HTTP 状态代码：400

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

HTTP 状态代码：400

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

HTTP 状态代码：400

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

HTTP 状态代码：400

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

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

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