DiscoverInputSchema - 適用於 SQL 應用程式的 Amazon Kinesis Data Analytics 開發人員指南

針對新專案,我們建議您優先選擇新的 Managed Service for Apache Flink Studio,而非 Kinesis Data Analytics for SQL 應用程式。Managed Service for Apache Flink Studio 易於使用且具備進階分析功能,可讓您在幾分鐘內建置複雜的串流處理應用程式。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

DiscoverInputSchema

注意

此文件適用於 Amazon Kinesis Data Analytics API 第 1 版,僅支援 SQL 應用程式。第 2 版的 API 則支援 SQL 和 Java 應用程式。如需第 2 版的詳細資訊,請參閱 Amazon Kinesis Data Analytics API V2 文件

透過評估範例記錄來推斷結構描述,這些範例紀錄來自特定的串流來源 (Amazon Kinesis 串流或 Amazon Kinesis Firehose 交付串流) 或 S3 物件。在回應中,作業會傳回推斷的結構描述,以及作業用來推斷結構描述的範例記錄。

在為應用程式設定串流來源時,您可以使用推斷的結構描述。如需概念資訊,請參閱設定應用程式輸入。請注意,當您使用 Amazon Kinesis Analytics 主控台建立應用程式時,主控台會使用此操作推斷結構描述,並在主控台使用者介面中顯示結構描述。

這項操作需要許可來執行 kinesisanalytics:DiscoverInputSchema 動作。

請求語法

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

請求參數

請求接受採用 JSON 格式的下列資料。

InputProcessingConfiguration

InputProcessingConfiguration 用於在探索記錄結構描述前預處理記錄。

類型:InputProcessingConfiguration 物件

必要:否

InputStartingPositionConfiguration

您希望 Amazon Kinesis Analytics 從特定串流來源探索目的開始讀取記錄的點。

類型:InputStartingPositionConfiguration 物件

必要:否

ResourceARN

串流來源的 Amazon Resource Name (ARN)。

類型:字串

長度限制:長度下限為 1。長度上限為 2048。

模式:arn:.*

必要:否

RoleARN

Amazon Kinesis Analytics 可擔任的 IAM 角色 ARN,此角色可代您存取串流。

類型:字串

長度限制:長度下限為 1。長度上限為 2048。

模式:arn:.*

必要:否

S3Configuration

指定此參數來探索 Amazon S3 物件中的資料結構描述。

類型:S3Configuration 物件

必要:否

回應語法

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

回應元素

如果動作成功,則服務傳回 HTTP 200 回應。

服務會傳回下列 JSON 格式的資料。

InputSchema

從串流來源推斷出來的結構描述。辨別串流來源中的資料格式,以及每個資料元素如何映射至相應欄位,這些欄位位於建立的應用程式內串流。

類型:SourceSchema 物件

ParsedInputRecords

元素陣列,其中每個元素對應到串流記錄中的一列 (串流記錄可以有多個資料列)。

類型:字串陣列的陣列。

ProcessedInputRecords

InputProcessingConfiguration 參數中指定的處理器修改之串流資料。

類型:字串陣列

RawInputRecords

已取樣來推斷結構描述的原始串流資料。

類型:字串陣列

錯誤

InvalidArgumentException

指定的輸入參數值無效。

HTTP 狀態碼:400

ResourceProvisionedThroughputExceededException

探索無法從串流來源取得記錄,因為 Amazon Kinesis Streams ProvisionedThroughputExceededException。如需詳細資訊,請參閱 Amazon Kinesis Video 串流 API 參考資料中的 GetRecords。

HTTP 狀態碼:400

ServiceUnavailableException

服務無法使用。退回並重試操作。

HTTP 狀態碼:500

UnableToDetectSchemaException

資料格式無效。Amazon Kinesis Analytics 無法偵測指定串流來源的結構描述。

HTTP 狀態碼:400

UnsupportedOperationException

請求被拒絕,因為指定的參數不受支持,或指定的資源對此操作無效。

HTTP 狀態碼:400

另請參閲

如需在語言特定的 AWS 開發套件之一中使用此 API 的詳細資訊,請參閱下列說明: