エラー処理 - Amazon Kinesis Data Analytics for SQL Applications 開発者ガイド

新規プロジェクトでは、Kinesis Data Analytics for SQL よりも 新しい Managed Service for Apache Flink Studio を使用することをお勧めします。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)

CREATE PUMP で定義されている送信ポンプ。