本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
複製工作
如需使用此命令的詳細資訊,請參閱 建立 S3 事件整合,以自動從 Amazon S3 儲存貯體複製檔案。
管理將資料載入資料表的 COPY 命令。COPY JOB 命令是 COPY 命令的擴充功能,可自動從 Amazon S3 儲存貯體載入資料。當您建立 COPY 任務時,Amazon Redshift 會偵測何時在指定路徑中建立新的 Amazon S3 檔案,然後自動載入這些檔案,而無需您介入。載入資料時,會使用原始 COPY 命令中使用的相同參數。Amazon Redshift 會追蹤載入的檔案 (根據檔案名稱),以確認它們只載入一次。
注意
如需 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 命令。該子句包含 COPY 參數,用於定義 Amazon S3 儲存貯體、目標資料表、IAM 角色和載入資料時使用的其他參數。支援 Amazon S3 資料載入的所有 COPY 命令參數,但以下參數除外:
-
COPY JOB 不會將預先存在的資料夾內擷取 COPY 命令所指向的檔案。只有在 COPY JOB 建立時間戳記之後建立的檔案才會被擷取。
您無法使用 MAXERROR 或 IGNOREALLERRORS 選項來指定 COPY 命令。
您不能指定資訊清單檔案。COPY JOB 需要指定的 Amazon S3 位置來監控新建立的檔案。
您不能指定具有存取金鑰和私密金鑰等授權類型的 COPY 命令。僅支援使用
IAM_ROLE
參數進行授權的 COPY 命令。如需詳細資訊,請參閱授權參數。COPY JOB 不支援與叢集相關聯的預設 IAM 角色。您必須在 COPY 命令中指定
IAM_ROLE
。
如需詳細資訊,請參閱從 Amazon S3 進行 COPY。
-
- job-name
-
用來參考 COPY 任務之任務的名稱。任務名稱不能包含連字號 (‐)。
- [AUTO ON | OFF]
-
指出是否將 Amazon S3 資料自動載入 Amazon Redshift 資料表的子句。
ON
時,Amazon Redshift 會監控新建立檔案的來源 Amazon S3 路徑,如果找到,則會使用任務定義中的 COPY 參數執行 COPY 命令。此為預設值。OFF
時,Amazon Redshift 不會自動執行 COPY JOB。
使用須知
COPY 命令的選項直到執行時間才驗證。例如,COPY JOB 開始時,無效的 IAM_ROLE
或 Amazon S3 資料來源會導致執行期錯誤。
如果叢集已暫停,則不會執行 COPY JOBS。
若要查詢載入的 COPY 命令檔案和載入錯誤,請參閱 STL_LOAD_COMMITS、STL_LOAD_ERRORS、STL_LOADERROR_DETAIL。如需詳細資訊,請參閱驗證資料已正確載入。
範例
下列範例示範建立 COPY JOB,以從 Amazon S3 儲存貯體載入資料。
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;