- カテゴリ:
VALIDATE_PIPE_LOAD¶
このテーブル関数は、指定された時間範囲内で Snowpipe によって処理されたデータファイルを検証するために使用できます。この関数は、Snowflakeテーブルへのデータロード試行中に発生したエラーに関する詳細を返します。
注釈
この関数は、過去14日以内のパイプアクティビティを返します。
構文¶
VALIDATE_PIPE_LOAD(
      PIPE_NAME => '<string>'
       , START_TIME => <constant_expr>
      [, END_TIME => <constant_expr> ] )
引数¶
- PIPE_NAME => string
- パイプを指定する文字列です。この関数は、指定されたパイプの結果のみを返します。 
- START_TIME => constant_expr
- 過去14日以内のタイムスタンプ( TIMESTAMP_LTZ 形式)です。エラーイベントを取得するための時間範囲の開始をマークします。 
オプション:
- END_TIME => constant_expr
- 過去14日以内のタイムスタンプ( TIMESTAMP_LTZ 形式)です。エラーイベントを取得するための時間範囲の終了をマークします。 
使用上の注意¶
- パイプ所有者(つまり、パイプの OWNERSHIP 権限を持つロール) または 次の最小権限を持つロールの結果のみを返します。 - 権限 - オブジェクト - メモ - MONITOR - パイプ - または、グローバル MONITOR EXECUTION 権限がサポートされています。 - USAGE - パイプ定義のステージ - 外部ステージのみ - READ - パイプ定義のステージ - 内部ステージのみ - SELECT - パイプ定義にあるテーブル - INSERT - パイプ定義にあるテーブル - スキーマオブジェクトでの SQL 操作には、オブジェクトを含むデータベースとスキーマに対する USAGE 権限も必要です。 
- Information Schemaテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾された関数名が必要です。詳細については、 Snowflake Information Schema をご参照ください。 
- 指定した時間範囲内のデータファイルの処理中にSnowpipeでエラーが発生しなかった場合、関数は結果を返しません。 
- パイプ記述の COPY ステートメントに、ロード中にデータをさらに変換するクエリ(つまり COPY 変換)が含まれている場合、関数は、現在ユーザーエラーを返します。 
- 指定した日付範囲が過去15日間外の場合、エラーが返されます。 
出力¶
この関数は、次の列を返します。
| 列名 | データ型 | 説明 | 
|---|---|---|
| ERROR | TEXT | ソースファイルの最初のエラー。 | 
| FILE | TEXT | エラーが発生したソースファイルの名前。 | 
| LINE | NUMBER | エラーが発生したソースファイル内の行の番号。 | 
| CHARACTER | NUMBER | エラーが発生した文字の位置。 | 
| BYTE_OFFSET | NUMBER | エラーが発生した文字へのバイトオフセット。 | 
| CATEGORY | TEXT | エラーが発生したときの操作のカテゴリ。 | 
| CODE | NUMBER | ERROR 列に表示されるエラーメッセージのID 。 | 
| SQL_STATE | NUMBER | SQL 状態コード。 | 
| COLUMN_NAME | TEXT | エラーが含まれていた列の名前と順序。 | 
| ROW_NUMBER | NUMBER | エラーが発生したソースファイル内の行の番号。 | 
| ROW_START_LINE | NUMBER | エラーが発生した行の最初の行の番号。 | 
| REJECTED_RECORD | TEXT | エラーを含むレコード。 | 
例¶
過去1時間以内の mypipe パイプの負荷を検証します。
select * from table(validate_pipe_load( pipe_name=>'MY_DB.PUBLIC.MYPIPE', start_time=>dateadd(hour, -1, current_timestamp())));