新規プロジェクトでは、Kinesis Data Analytics for SQL よりも 新しい Managed Service for Apache Flink Studio を使用することをお勧めします。Managed Service for Apache Flink Studio は、使いやすさと高度な分析機能を兼ね備えているため、高度なストリーム処理アプリケーションを数分で構築できます。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
DiscoverInputSchema
注記
このドキュメントの対象は、SQL アプリケーションのみがサポートされる Amazon Kinesis Data Analytics API のバージョン 1 です。バージョン 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 リソースネーム (ARN)。
型: 文字列
長さの制限:最小長は 1 です。最大長は 2,048 です。
パターン:
arn:.*
必須: いいえ
- RoleARN
-
Amazon Kinesis Analytics がユーザーに代わってストリームにアクセスするために引き受けることができる IAM ロールの ARN。
型: 文字列
長さの制限:最小長は 1 です。最大長は 2,048 です。
パターン:
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 Streams API リファレンスの GetRecords を参照してください。
HTTP ステータスコード:400
- ServiceUnavailableException
-
サービスは利用できません。戻ってオペレーションを再試行してください。
HTTP ステータスコード:500
- UnableToDetectSchemaException
-
日付形式が有効ではありません。Amazon Kinesis Analytics は、指定されたストリーミングソースのスキーマを検出できません。
HTTP ステータスコード:400
- UnsupportedOperationException
-
指定されたパラメータがサポートされていないか、指定されたリソースがこのオペレーションに対して有効でないため、リクエストは拒否されました。
HTTP ステータスコード:400
以下の資料も参照してください。
言語固有の AWS SDK のいずれかでこの API を使用する方法の詳細については、以下を参照してください。