エラー処理 - Amazon Kinesis Data Analytics for SQL アプリケーション開発者ガイド

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

エラー処理

Amazon Kinesis Data Analytics は API または SQL エラーを直接ユーザーに返します。API オペレーションの詳細については、「Actions」を参照してください。SQL エラー処理の詳細については、「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 コードを記述して、予期されるエラー条件を処理します。

エラーストリームのスキーマ

エラーストリームには、次のスキーマがあります。

フィールド

データ型

コメント

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 で定義されている送信ポンプ。