在仔細考慮之後,我們決定在兩個步驟中停止 Amazon Kinesis Data Analytics for SQL 應用程式:
1. 從 2025 年 10 月 15 日起,您將無法為SQL應用程式建立新的 Kinesis Data Analytics。
2. 我們將從 2026 年 1 月 27 日起刪除您的應用程式。您將無法啟動或操作SQL應用程式的 Amazon Kinesis Data Analytics。從那時SQL起,Amazon Kinesis Data Analytics 將不再提供 的支援。如需詳細資訊,請參閱Amazon Kinesis Data Analytics for SQL 應用程式終止。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CreateApplication
注意
此文件適用於 Amazon Kinesis Data Analytics API 第 1 版,僅支援 SQL 應用程式。第 2 版的 API 則支援 SQL 和 Java 應用程式。如需第 2 版的詳細資訊,請參閱 Amazon Kinesis Data Analytics API V2 文件。
建立 Amazon Kinesis Analytics 應用程式。您可以設定每個應用程式將一個串流來源作為輸入、處理輸入的應用程式碼,以及最多三個您希望 Amazon Kinesis Analytics 從應用程式寫入輸出資料的目的地。如需概觀,請參閱運作方式。
在輸入設定中,將串流來源映射至應用程式內串流,您可以將其視為不斷更新的資料表。在對映中,您必須提供應用程式內串流的結構描述,並將應用程式內串流的每個資料欄映射到串流來源的資料元素。
您的應用程式碼為一個或多個 SQL 陳述式,這些陳述式會讀取輸入資料、進行轉換,並產生輸出。您的應用程式碼可以建立一或多個 SQL 成品,例如 SQL 串流或幫浦。
在輸出組態中,您可以設定應用程式,將資料從應用程式中建立的應用程式內串流寫入最多三個目的地。
若要從來源串流讀取資料,或將資料寫入目的地串流,Amazon Kinesis Analytics 需要您的許可。您可以透過 IAM 角色來授予這些許可。這項操作需要許可來執行 kinesisanalytics:CreateApplication
動作。
如需建立 Amazon Kinesis Analytics 應用程式的入門練習,請參閱入門。
請求語法
{
"ApplicationCode": "string
",
"ApplicationDescription": "string
",
"ApplicationName": "string
",
"CloudWatchLoggingOptions": [
{
"LogStreamARN": "string
",
"RoleARN": "string
"
}
],
"Inputs": [
{
"InputParallelism": {
"Count": number
},
"InputProcessingConfiguration": {
"InputLambdaProcessor": {
"ResourceARN": "string
",
"RoleARN": "string
"
}
},
"InputSchema": {
"RecordColumns": [
{
"Mapping": "string
",
"Name": "string
",
"SqlType": "string
"
}
],
"RecordEncoding": "string
",
"RecordFormat": {
"MappingParameters": {
"CSVMappingParameters": {
"RecordColumnDelimiter": "string
",
"RecordRowDelimiter": "string
"
},
"JSONMappingParameters": {
"RecordRowPath": "string
"
}
},
"RecordFormatType": "string
"
}
},
"KinesisFirehoseInput": {
"ResourceARN": "string
",
"RoleARN": "string
"
},
"KinesisStreamsInput": {
"ResourceARN": "string
",
"RoleARN": "string
"
},
"NamePrefix": "string
"
}
],
"Outputs": [
{
"DestinationSchema": {
"RecordFormatType": "string
"
},
"KinesisFirehoseOutput": {
"ResourceARN": "string
",
"RoleARN": "string
"
},
"KinesisStreamsOutput": {
"ResourceARN": "string
",
"RoleARN": "string
"
},
"LambdaOutput": {
"ResourceARN": "string
",
"RoleARN": "string
"
},
"Name": "string
"
}
],
"Tags": [
{
"Key": "string
",
"Value": "string
"
}
]
}
請求參數
請求接受採用 JSON 格式的下列資料。
- ApplicationCode
-
一個或多個 SQL 陳述式,該陳述式會讀取輸入資料、進行轉換,並產生輸出。例如,您可以撰寫 SQL 陳述式,從應用程式內串流讀取資料,產生執行中各廠商廣告的平均點擊數,然後使用幫浦將結果資料列插入另一個應用程式中串流。如需典型模式的詳細資訊,請參閱應用程式程式碼。
您可以提供這類一系列的 SQL 陳述式,在其中將一個陳述式的輸出用來做為下一個陳述式的輸入。您可以透過建立應用程式中串流和幫浦,來存放中繼結果。
啟注意,應用程式程式碼必須使用
Outputs
中指定的名稱建立串流。例如,若您的Outputs
定義了名為ExampleOutputStream1
及ExampleOutputStream2
的輸出串流,則您的應用程式程式碼必須建立這些串流。類型:字串
長度限制:長度下限為 0。長度上限為 102400。
必要:否
- ApplicationDescription
-
應用程式的摘要描述。
類型:字串
長度限制:長度下限為 0。長度上限為 1024。
必要:否
- ApplicationName
-
您 Amazon Kinesis Analytics 應用程式的名稱 (例如,
sample-app
)。類型:字串
長度限制:長度下限為 1。長度上限為 128。
模式:
[a-zA-Z0-9_.-]+
必要:是
- CloudWatchLoggingOptions
-
使用此參數可設定 CloudWatch 記錄資料流,以監視應用程式組態錯誤。如需詳細資訊,請參閱使用 Amazon CloudWatch 日誌。
類型:CloudWatchLoggingOption 物件陣列
必要:否
- Inputs
-
可藉由此參數來設定應用程式輸入。
您可以設定應用程式從單一串流來源接收輸入。在此組態中,您會將此串流來源映射到建立的應用程式內串流。您的應用程式程式碼接著會如同資料表般,查詢應用程式內串流 (您可以將它想成是持續更新的資料表)。
針對串流來源,您可以提供其 Amazon Resource Name (ARN) 及串流上的資料格式 (例如,JSON、CSV 等)。您也必須提供 Amazon Kinesis Analytics 可取得的 IAM 角色,代您讀取此串流。
要建立應用程式內部串流,您必須指定一個架構描述,以將您的資料轉換為 SQL 中使用的架構化版本。在結構描述中,您可以提供串流來源中資料元素的必要映射,來記錄應用程式內串流中的資料行。
類型:Input 物件陣列
必要:否
- Outputs
-
您可以設定應用程式輸出,將資料從任何應用程式內串流寫入最多三個目的地。
這些目的地可以是 Amazon Kinesis 串流、Amazon Kinesis Firehose 交付串流、 AWS Lambda 目的地或三者中的任意組合。
在組態中,指定應用程式內串流名稱、目標串流或 Lambda 函數 Amazon Resource Name (ARN),以及寫入資料時使用的格式。您也必須提供 Amazon Kinesis Analytics 可擔任的 IAM 角色,以代您讀取目的地串流或 Lambda 函數。
在輸出組態中,您還可以提供輸出串流或 Lambda 函數 ARN。針對串流目的地,提供串流中的資料格式 (例如 JSON、CSV)。您也必須提供 Amazon Kinesis Analytics 可擔任的 IAM 角色,以代您讀取串流或 Lambda 函數。
類型:Output 物件陣列
必要:否
- Tags
-
要指派給應用程式的一或多個標籤的清單。標籤是識別應用程式的鍵/值對。請注意,應用程式標籤的數目上限包括系統標籤。使用者定義的應用程式的標籤數目上限為 50。如需詳細資訊,請參閱使用標記。
類型:Tag 物件陣列
陣列成員:項目數下限為 1。項目數上限為 200。
必要:否
回應語法
{
"ApplicationSummary": {
"ApplicationARN": "string",
"ApplicationName": "string",
"ApplicationStatus": "string"
}
}
回應元素
如果動作成功,則服務傳回 HTTP 200 回應。
服務會傳回下列 JSON 格式的資料。
- ApplicationSummary
-
Amazon Kinesis Analytics 根據您的
CreateApplication
要求傳回回應,其中包含建立的應用程式摘要,內含應用程式 Amazon Resource Name (ARN)、名稱和狀態。類型:ApplicationSummary 物件
錯誤
- CodeValidationException
-
使用者提供的應用程式碼 (查詢) 無效。這可能是一個簡單的語法錯誤。
HTTP 狀態碼:400
- ConcurrentModificationException
-
並行修改應用程式的結果拋出例外。例如,有兩個人嘗試同時編輯相同的應用程式。
HTTP 狀態碼:400
- InvalidArgumentException
-
指定的輸入參數值無效。
HTTP 狀態碼:400
- LimitExceededException
-
超過允許的應用程式數量。
HTTP 狀態碼:400
- ResourceInUseException
-
應用程式不適用於此作業。
HTTP 狀態碼:400
- TooManyTagsException
-
使用太多標籤建立的應用程式,或在應用程式中加入太多標籤。請注意,應用程式標籤的數目上限包括系統標籤。使用者定義的應用程式的標籤數目上限為 50。
HTTP 狀態碼:400
- UnsupportedOperationException
-
請求被拒絕,因為指定的參數不受支持,或指定的資源對此操作無效。
HTTP 狀態碼:400
另請參閱
如需在其中一個特定語言 AWS SDK 中使用此 API 的詳細資訊,請參閱下列內容: