DiscoverInputSchema - Amazon Kinesis Data Analytics for SQL Applications 開発者ガイド

新規プロジェクトでは、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 を使用する方法の詳細については、以下を参照してください。