COPY JOB
このコマンドの使用の詳細については、「S3 イベント統合を作成して Amazon S3 バケットからファイルを自動的にコピーする」を参照してください。
データをテーブルにロードする COPY コマンドを管理します。COPY JOB コマンドは COPY コマンドの拡張であり、Amazon S3 バケットからのデータロードを自動化します。COPY ジョブを作成すると、Amazon Redshift は、指定されたパスに新しい Amazon S3 ファイルが作成されたことを検出し、ユーザーの操作なしで自動的にロードします。データをロードするときには、元の COPY コマンドで使用されているのと同じパラメータが使用されます。Amazon Redshift は、ロードされたファイルを (ファイル名に基づいて) 追跡し、ロードされたのが 1 回だけであることを確認します。
注記
使用方法、パラメータ、権限など、COPY コマンドの詳細については、「COPY」を参照してください。
必要なアクセス許可
COPY JOB の COPY コマンドを実行するには、ロードするテーブルの INSERT 権限が必要です。
COPY コマンドで指定した IAM ロールにはロードするデータへのアクセス権限が必要です。詳細については、「COPY、UNLOAD、CREATE LIBRARY のための IAM のアクセス許可」を参照してください。
構文
コピージョブを作成します。COPY コマンドのパラメータは、コピージョブと共に保存されます。
トランザクションブロックの範囲内で COPY JOB CREATE を実行することはできません。
COPY copy-command JOB CREATE job-name [AUTO ON | OFF]
コピージョブの設定を変更します。
COPY JOB ALTER job-name [AUTO ON | OFF]
コピージョブを実行します。保存されている COPY コマンドパラメータが使用されます。
COPY JOB RUN job-name
すべてのコピージョブを一覧表示します。
COPY JOB LIST
コピージョブの詳細を表示します。
COPY JOB SHOW job-name
コピージョブを削除します。
トランザクションブロックの範囲内で COPY JOB DROP を実行することはできません。
COPY JOB DROP job-name
パラメータ
- copy-command
-
Amazon S3 から Amazon Redshift にデータをロードする COPY コマンドです。この句には、Amazon S3 バケット、ターゲットテーブル、IAM ロール、およびデータをロードするときに使用されるその他のパラメータを定義する COPY パラメータが含まれています。Amazon S3 データロードの COPY コマンドパラメータは、以下を除いてすべてサポートされています。
-
COPY JOB は、COPY コマンドで指定されたフォルダー内の既存のファイルを取り込みません。COPY JOB 作成タイムスタンプ以降に作成されたファイルのみが取り込まれます。
COPY コマンドに対しては、MAXERROR オプションまたは IGNOREALLERRORS オプションを指定することはできません。
マニフェストファイルは指定できません。COPY JOB では、新しく作成されたファイルをモニタリングするために、指定された Amazon S3 ロケーションが必要です。
アクセスキーやシークレットキーなどの認可タイプで COPY コマンドを指定することはできません。この
IAM_ROLE
パラメータを認可に使用する COPY コマンドのみがサポートされます。詳細については、「認可パラメータ」を参照してください。COPY JOB は、クラスターに関連付けられたデフォルトの IAM ロールをサポートしていません。COPY コマンド内で
IAM_ROLE
を指定する必要があります。
詳細については、「Amazon S3 からの COPY」を参照してください。
-
- job-name
-
COPY ジョブを参照するために使用されるジョブの名前です。[job-name] にハイフン (‐) を含めることはできません。
- [AUTO ON | OFF]
-
Amazon S3 データが Amazon Redshift テーブルに自動的にロードされるかどうかを示す句です。
ON
の場合、Amazon Redshift はソースの Amazon S3 パスで新しく作成されたファイルをモニタリングし、見つかった場合は、ジョブ定義の COPY パラメータを使用して COPY コマンドが実行されます。これがデフォルトです。OFF
の場合、Amazon Redshift は COPY JOB を自動的に実行しません。
使用に関する注意事項
COPY コマンドのオプションは実行時まで検証されません。たとえば、無効な IAM_ROLE
や Amazon S3 データソースがあると、COPY JOB の開始時にランタイムエラーが発生します。
クラスターが一時停止している場合、COPY JOB は実行されません。
ロードされた COPY コマンドファイルとロードエラーをクエリするには「STL_LOAD_COMMITS、STL_LOAD_ERRORS、STL_LOADERROR_DETAIL」を参照してください。詳細については、「データが正しくロードされたことを確認する」を参照してください。
例
次の例では、Amazon S3 バケットからデータをロードするための COPY JOB を作成しています。
COPY public.target_table FROM 's3://amzn-s3-demo-bucket/staging-folder' IAM_ROLE 'arn:aws:iam::123456789012:role/MyLoadRoleName' JOB CREATE my_copy_job_name AUTO ON;