新しいプロジェクトでは、Kinesis Data Analytics for Applications 経由で新しい Managed Service for Apache Flink Studio SQL を使用することをお勧めします。Managed Service for Apache Flink Studio は、使いやすさと高度な分析機能を兼ね備えているため、高度なストリーム処理アプリケーションを数分で構築できます。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
エラー処理
Amazon Kinesis Data Analytics は、API や SQL のエラーを直接ユーザーに返します。API オペレーションの詳細については、「アクション」を参照してください。SQL エラーの処理の詳細については、「Amazon Kinesis Data Analytics SQL リファレンス」を参照してください。
Amazon Kinesis Data Analytics は、error_stream
というアプリケーション内エラーストリームを使用して、ランタイムエラーをレポートします。
アプリケーション内エラーストリームを使用してエラーをレポートする
Amazon Kinesis Data Analytics は、error_stream
というアプリケーション内エラーストリームを使用して、ランタイムエラーをレポートします。発生する可能性のあるエラーの例を以下に示します。
-
ストリーミングソースから読み取られたレコードが入力スキーマに適合していない。
-
アプリケーションコードがゼロでの除算を指定している。
-
行が入れ替わっている (たとえば、ユーザーによって
ROWTIME
値が変更されたレコードがストリームに現れると、レコードの順序が乱れます)。 ソースストリームのデータをスキーマで指定されたデータ型に変換することはできません (強制エラー)。変換できるデータ型の詳細については、「JSON データ型から SQL データ型へのマッピング」を参照してください。
これらのエラーは、SQL コードでプログラム的に処理するか、外部宛先へのエラーストリームにデータを保持することをお勧めします。これには、アプリケーションに出力設定を追加する必要があります (「アプリケーション出力の設定」を参照)。アプリケーション内エラーストリームの動作の例については、「例: アプリケーション内エラーストリームの確認」を参照してください。
注記
エラーストリームはシステムアカウントを使用して作成されるため、Kinesis Data Analytics アプリケーションはプログラムでエラーストリームにアクセスすることや、エラーストリームを変更することはできません。エラー出力を使用して、アプリケーションで発生する可能性のあるエラーを確認する必要があります。次に、アプリケーションの SQL コードを記述して、予期されるエラー条件を処理します。
エラーストリームのスキーマ
エラーストリームには、次のスキーマがあります。
フィールド | データ型 | Notes (メモ) |
ERROR_TIME | TIMESTAMP | エラーが発生した時刻。 |
ERROR_LEVEL | VARCHAR(10) | |
ERROR_NAME | VARCHAR(32) | |
MESSAGE | VARCHAR(4096) | |
DATA_ROWTIME | TIMESTAMP | 受信レコードの ROWTIME。 |
DATA_ROW | VARCHAR(49152) | 元の行の 16 進エンコードデータ。標準ライブラリを使用してこの値を 16 進数でデコードするか、この Hex to String Converter |
PUMP_NAME | VARCHAR(128) | |