

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 資料來源
<a name="copy-parameters-data-source"></a>

您可以從位於 Amazon S3 儲存貯體、Amazon EMR 叢集或遠端主機 (叢集可利用 SSH 連線來存取) 的文字檔案來載入資料。您也可以直接從 DynamoDB 資料表載入資料。

任何來源的單一輸入資料列最大為 4 MB。

若要將資料表中的資料匯出至 Amazon S3 中的一組檔案，請使用 [UNLOAD](r_UNLOAD.md) 命令。

**Topics**
+ [從 Amazon S3 進行 COPY](copy-parameters-data-source-s3.md)
+ [從 Amazon EMR 進行 COPY](copy-parameters-data-source-emr.md)
+ [從遠端主機 COPY (SSH)](copy-parameters-data-source-ssh.md)
+ [從 Amazon DynamoDB 進行 COPY](copy-parameters-data-source-dynamodb.md)

# 從 Amazon S3 進行 COPY
<a name="copy-parameters-data-source-s3"></a>

若要從位於一或多個 S3 儲存貯體的檔案載入資料，請使用 FROM 子句來指出 COPY 如何尋找 Amazon S3 中的檔案。您可以在 FROM 子句中提供資料檔案的物件路徑，或提供資訊清單檔案 (包含 Amazon S3 物件路徑清單) 的位置。來自 Amazon S3 的 COPY 會使用 HTTPS 連線。確定 S3 IP 範圍已新增至您的允許清單。若要進一步了解所需的 S3 IP 範圍，請參閱[網路隔離](https://docs.aws.amazon.com//redshift/latest/mgmt/security-network-isolation.html#network-isolation)。

**重要**  
如果存放資料檔案的 Amazon S3 儲存貯體不在與叢集相同的 AWS 區域中，您必須使用 [REGION](#copy-region) 參數來指定資料所在的區域。

**Topics**
+ [語法](#copy-parameters-data-source-s3-syntax)
+ [範例](#copy-parameters-data-source-s3-examples)
+ [選用的參數](#copy-parameters-data-source-s3-optional-parms)
+ [不支援的參數](#copy-parameters-data-source-s3-unsupported-parms)

## 語法
<a name="copy-parameters-data-source-s3-syntax"></a>

```
FROM { 's3://objectpath' | 's3://manifest_file' }
authorization
| MANIFEST
| ENCRYPTED
| REGION [AS] 'aws-region'
| optional-parameters
```

## 範例
<a name="copy-parameters-data-source-s3-examples"></a>

下列範例使用物件路徑以從 Amazon S3 載入資料。

```
copy customer
from 's3://amzn-s3-demo-bucket/customer' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';
```

下列範例使用資訊清單檔案以從 Amazon S3 載入資料。

```
copy customer
from 's3://amzn-s3-demo-bucket/cust.manifest' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
manifest;
```

### Parameters
<a name="copy-parameters-data-source-s3-parameters"></a>

FROM  <a name="copy-parameters-from"></a>
載入的資料來源。如需 Amazon S3 檔案編碼的相關資訊，請參閱[資料轉換參數](copy-parameters-data-conversion.md)。

's3://*copy\$1from\$1s3\$1objectpath*'  <a name="copy-s3-objectpath"></a>
指定含有資料之 Amazon S3 物件的路徑 Amazon S3 - 例如 `'s3://amzn-s3-demo-bucket/custdata.txt'`。*s3://copy\$1from\$1s3\$1objectpath* 參數可以參考單一檔案，或一組有相同金鑰前綴的物件或資料夾。例如，`custdata.txt` 這個名稱是參考一些實體檔案的金鑰前綴：`custdata.txt`、`custdata.txt.1`、`custdata.txt.2`、`custdata.txt.bak` 等。金鑰前綴也可以參考一些資料夾。例如，`'s3://amzn-s3-demo-bucket/custfolder'` 參考資料夾 `custfolder`、`custfolder_1`、`custfolder_2` 等。如果金鑰前綴參考多個資料夾，則會載入這些資料夾中的所有檔案。如果金鑰前綴符合檔案又符合資料夾，例如 `custfolder.log`，COPY 也會嘗試載入此檔案。如果金鑰前綴可能導致 COPY 嘗試載入不需要的檔案，請使用資訊清單檔案。如需詳細資訊，請參閱下列 [copy_from_s3_manifest_file](#copy-manifest-file)。  
如果存放資料檔案的 S3 儲存貯體不是位於與叢集相同的 AWS 區域，您必須使用 [REGION](#copy-region) 參數來指定資料所在的區域。
如需詳細資訊，請參閱[從 Amazon S3 載入資料](t_Loading-data-from-S3.md)。

's3://*copy\$1from\$1s3\$1manifest\$1file*'  <a name="copy-manifest-file"></a>
指定資訊清單檔案 (列出要載入的資料檔案) 的 Amazon S3 物件金鑰。*'s3://*copy\$1from\$1s3\$1manifest\$1file'** 引數必須明確參考單一檔案 - 例如 `'s3://amzn-s3-demo-bucket/manifest.txt'`。無法參考金鑰前綴。  
清單檔案是 JSON 格式的文字檔案，其中列出要從 Amazon S3 載入之每個檔案的 URL。URL 包含檔案的儲存貯體名稱和完整物件路徑。資訊清單中指定的檔案可以位於不同的儲存貯體，但所有儲存貯體都必須位於與 Amazon Redshift 叢集相同的 AWS 區域。如果某個檔案列出兩次，則該檔案會載入兩次。下列範例顯示資訊清單的 JSON，此資訊清單會載入三個檔案。  

```
{
  "entries": [
    {"url":"s3://amzn-s3-demo-bucket1/custdata.1","mandatory":true},
    {"url":"s3://amzn-s3-demo-bucket1/custdata.2","mandatory":true},
    {"url":"s3://amzn-s3-demo-bucket2/custdata.1","mandatory":false}
  ]
}
```
雙引號字元是必要的，且必須是簡單引號 (0x22)，而不是斜向或「智慧型」引號。資訊清單中的每個項目可以選擇性包含 `mandatory` 旗標。如果 `mandatory` 設為 `true`，COPY 找不到該項目的檔案時會終止；否則，COPY 會繼續。`mandatory` 的預設值為 `false`。  
載入格式為 ORC 或 Parquet 的資料檔案時，需要 `meta` 欄位，如下列範例所示。  

```
{  
   "entries":[  
      {  
         "url":"s3://amzn-s3-demo-bucket1/orc/2013-10-04-custdata",
         "mandatory":true,
         "meta":{  
            "content_length":99
         }
      },
      {  
         "url":"s3://amzn-s3-demo-bucket2/orc/2013-10-05-custdata",
         "mandatory":true,
         "meta":{  
            "content_length":99
         }
      }
   ]
}
```
即使指定 ENCRYPTED、GZIP、LZOP、BZIP2 或 ZSTD 選項，也不可對資訊清單檔案進行加密或壓縮。如果找不到指定的資訊清單檔案，或資訊清單檔案的格式不正確，COPY 會傳回錯誤。  
如果使用資訊清單檔案，則必須使用 COPY 命令指定 MANIFEST 參數。如果未指定 MANIFEST 參數，COPY 會假設 FROM 指定的檔案是資料檔案。  
如需詳細資訊，請參閱[從 Amazon S3 載入資料](t_Loading-data-from-S3.md)。

*authorization*  
COPY 命令需要取得授權來存取另一個 AWS 資源中 (包括在 Amazon S3、Amazon EMR、Amazon DynamoDB 和 Amazon EC2 中) 的資料。您可以參考連接至叢集的 AWS Identity and Access Management (IAM) 角色 （以角色為基礎的存取控制），或提供使用者的存取憑證 （以金鑰為基礎的存取控制），以提供該授權。為了提高安全性和彈性，建議使用 IAM 角色型存取控制。如需詳細資訊，請參閱[授權參數](copy-parameters-authorization.md)。

MANIFEST  <a name="copy-manifest"></a>
指定使用清單檔案來指出要從 Amazon S3 載入的資料檔案。如果使用 MANIFEST 參數，COPY 會從 *'s3://copy\$1from\$1s3\$1manifest\$1file'* 參考的資訊清單中所列的檔案載入資料。如果找不到資訊清單檔案，或此檔案的格式不正確，COPY 會失敗。如需詳細資訊，請參閱[使用資訊清單指定資料檔案](loading-data-files-using-manifest.md)。

ENCRYPTED  <a name="copy-encrypted"></a>
此子句指定 Amazon S3 上的輸入檔案是以用戶端加密搭配客戶管理金鑰來加密。如需詳細資訊，請參閱[從 Amazon S3 載入加密的資料檔案](c_loading-encrypted-files.md)。如果輸入檔案是以 Amazon S3 伺服器端加密 (SSE-KMS 或 SSE-S3) 所加密，請勿指定 ENCRYPTED。COPY 會自動讀取伺服器端加密檔案。  
如果指定 ENCRYPTED 參數，則還必須指定 [MASTER_SYMMETRIC_KEY](#copy-master-symmetric-key) 參數，或在 [使用 CREDENTIALS 參數](copy-parameters-authorization.md#copy-credentials) 字串中包含 **master\$1symmetric\$1key** 值。  
如果加密檔案是壓縮格式，請增加 GZIP、LZOP、BZIP2 或 ZSTD 參數。  
即使指定 ENCRYPTED 選項，也不得對資訊清單檔案和 JSONPaths 檔案進行加密。

MASTER\$1SYMMETRIC\$1KEY '*root\$1key*'  <a name="copy-master-symmetric-key"></a>
用於將 Amazon S3 上的資料檔案加密的根對稱金鑰。如果指定 MASTER\$1SYMMETRIC\$1KEY，則還必須指定 [ENCRYPTED](#copy-encrypted) 參數。MASTER\$1SYMMETRIC\$1KEY 不能與 CREDENTIALS 參數一起使用。如需詳細資訊，請參閱[從 Amazon S3 載入加密的資料檔案](c_loading-encrypted-files.md)。  
如果加密檔案是壓縮格式，請增加 GZIP、LZOP、BZIP2 或 ZSTD 參數。

REGION [AS] '*aws-region*'  <a name="copy-region"></a>
指定來源資料所在的 AWS 區域。當含有資料的 AWS 資源所在區域與 Amazon Redshift 叢集的區域不是同一個區域時，從 Amazon S3 儲存貯體或 DynamoDB 資料表的 COPY 需要 REGION。  
*aws\$1region* 的值必須符合 [Amazon Redshift 區域與端點](https://docs.aws.amazon.com/general/latest/gr/rande.html#redshift_region)資料表所列的區域。  
如果指定 REGION 參數，則所有資源 (包括資訊清單檔案或多個 Amazon S3 儲存貯體) 都必須位於指定的區域。  
跨區域傳輸資料需要為含有資料的 Amazon S3 儲存貯體或 DynamoDB 資料表另外付費。如需定價的詳細資訊，請參閱 **Amazon S3 定價頁面上從 Amazon S3 傳出至其他 AWS 區域的資料傳輸**，以及 [Amazon DynamoDB 定價](https://aws.amazon.com/dynamodb/pricing/)頁面上的 **傳出資料傳輸**。 [Amazon S3 ](https://aws.amazon.com/s3/pricing/) 
根據預設，COPY 會假設資料與 Amazon Redshift 叢集位於相同區域。

## 選用的參數
<a name="copy-parameters-data-source-s3-optional-parms"></a>

從 Amazon S3 COPY 時，您可以選擇性指定下列參數：
+ [欄映射選項](copy-parameters-column-mapping.md)
+ [資料格式參數](copy-parameters-data-format.md#copy-data-format-parameters)
+ [資料轉換參數](copy-parameters-data-conversion.md)
+ [資料載入操作](copy-parameters-data-load.md)

## 不支援的參數
<a name="copy-parameters-data-source-s3-unsupported-parms"></a>

從 Amazon S3 COPY 時，您不能使用下列參數：
+ SSH
+ READRATIO

# 從 Amazon EMR 進行 COPY
<a name="copy-parameters-data-source-emr"></a>

您可以使用 COPY 命令從 Amazon EMR 叢集平行載入資料，而該叢集設定為以固定寬度檔案、字元分隔檔案、CSV 檔案、JSON 格式檔案或 Avro 檔案的形式，將文字檔案寫入叢集的 Hadoop 分散式檔案系統 (HDFS)。

**Topics**
+ [語法](#copy-parameters-data-source-emr-syntax)
+ [範例](#copy-parameters-data-source-emr-example)
+ [Parameters](#copy-parameters-data-source-emr-parameters)
+ [支援的參數](#copy-parameters-data-source-emr-optional-parms)
+ [不支援的參數](#copy-parameters-data-source-emr-unsupported-parms)

## 語法
<a name="copy-parameters-data-source-emr-syntax"></a>

```
FROM 'emr://emr_cluster_id/hdfs_filepath'  
authorization
[ optional_parameters ]
```

## 範例
<a name="copy-parameters-data-source-emr-example"></a>

下列範例從 Amazon EMR 叢集載入資料。

```
copy sales
from 'emr://j-SAMPLE2B500FC/myoutput/part-*' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';
```

## Parameters
<a name="copy-parameters-data-source-emr-parameters"></a>

FROM  
載入的資料來源。

 'emr://*emr\$1cluster\$1id*/*hdfs\$1file\$1path*'  <a name="copy-emr"></a>
Amazon EMR 叢集的唯一識別碼，以及 HDFS 檔案路徑 (參考 COPY 命令的資料檔案)。HDFS 資料檔案名稱不能包含萬用字元星號 (\$1) 和問號 (?)。  
Amazon EMR 叢集必須一直運作到 COPY 操作完成為止。如果 COPY 操作完成之前有任何 HDFS 資料檔案經變更或遭刪除，可能會發生非預期的結果，COPY 操作也可能失敗。
您可以在 *hdfs\$1file\$1path* 引數中使用萬用字元星號 (\$1) 和問號 (?) 來指定要載入的多個檔案。例如，`'emr://j-SAMPLE2B500FC/myoutput/part*'` 表示檔案 `part-0000`、`part-0001`，以此類推。如果檔案路徑不含萬用字元，則視為字串常值。如果僅指定資料夾名稱，COPY 會嘗試載入該資料夾中的所有檔案。  
如果使用萬用字元或只使用資料夾名稱，請確認不會載入不需要的檔案。例如，某些程序可能將日誌檔案寫入至輸出資料夾。
如需詳細資訊，請參閱[從 Amazon EMR 載入資料](loading-data-from-emr.md)。

*authorization*  
COPY 命令需要取得授權來存取另一個 AWS 資源中 (包括在 Amazon S3、Amazon EMR、Amazon DynamoDB 和 Amazon EC2 中) 的資料。您可以參考連接至叢集的 AWS Identity and Access Management (IAM) 角色 （以角色為基礎的存取控制），或提供使用者的存取憑證 （以金鑰為基礎的存取控制），以提供該授權。為了提高安全性和彈性，建議使用 IAM 角色型存取控制。如需詳細資訊，請參閱[授權參數](copy-parameters-authorization.md)。

## 支援的參數
<a name="copy-parameters-data-source-emr-optional-parms"></a>

從 Amazon EMR COPY 時，您可以選擇性指定下列參數：
+ [欄映射選項](copy-parameters-column-mapping.md)
+ [資料格式參數](copy-parameters-data-format.md#copy-data-format-parameters)
+ [資料轉換參數](copy-parameters-data-conversion.md)
+ [資料載入操作](copy-parameters-data-load.md)

## 不支援的參數
<a name="copy-parameters-data-source-emr-unsupported-parms"></a>

從 Amazon EMR COPY 時，您不能使用下列參數：
+ ENCRYPTED
+ MANIFEST
+ REGION
+ READRATIO
+ SSH

# 從遠端主機 COPY (SSH)
<a name="copy-parameters-data-source-ssh"></a>

您可以使用 COPY 命令從一或多台遠端主機平行載入資料，例如 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體或其他電腦。COPY 會使用 Secure Shell (SSH) 連接至遠端主機，然後在遠端主機執行命令來產生文字輸出。遠端主機可以是 EC2 Linux 執行個體，或另一台設定為接受 SSH 連線的 Unix 或 Linux 電腦。Amazon Redshift 可以連線到多台主機，而且可以對每台主機開啟多個 SSH 連線。Amazon Redshift 會透過每個連線傳送一個唯一的命令，將文字輸出產生到主機的標準輸出，然後 Amazon Redshift 會像讀取文字檔一樣讀取該輸出。

使用 FROM 子句來指定資訊清單檔案的 Amazon S3 物件金鑰，此資訊清單檔案提供讓 COPY 用來開啟 SSH 連線和執行遠端命令的資訊。

**Topics**
+ [語法](#copy-parameters-data-source-ssh-syntax)
+ [範例](#copy-parameters-data-source-ssh-examples)
+ [Parameters](#copy-parameters-data-source-ssh-parameters)
+ [選用的參數](#copy-parameters-data-source-ssh-optional-parms)
+ [不支援的參數](#copy-parameters-data-source-ssh-unsupported-parms)

**重要**  
 如果存放資訊清單檔案的 S3 儲存貯體所在區域與叢集的 AWS 區域不是同一個，您必須使用 REGION 參數來指定儲存貯體所在的區域。

## 語法
<a name="copy-parameters-data-source-ssh-syntax"></a>

```
FROM 's3://'ssh_manifest_file' }
authorization
SSH
| optional-parameters
```

## 範例
<a name="copy-parameters-data-source-ssh-examples"></a>

下列範例使用資訊清單檔案，以利用 SSH 從遠端主機載入資料。

```
copy sales
from 's3://amzn-s3-demo-bucket/ssh_manifest' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
ssh;
```

## Parameters
<a name="copy-parameters-data-source-ssh-parameters"></a>

FROM  
載入的資料來源。

's3://*copy\$1from\$1ssh\$1manifest\$1file*'  <a name="copy-ssh-manifest"></a>
COPY 命令可以使用 SSH 來連接至多台主機，也可以對每台主機建立多個 SSH 連線。COPY 會透過每個主機連線執行命令，然後將命令的輸出平行載入資料表。*s3://copy\$1from\$1ssh\$1manifest\$1file* 引數會指定資訊清單檔案的 Amazon S3 物件金鑰，此清單檔案會提供讓 COPY 用來開啟 SSH 連線和執行遠端命令的資訊。  
*s3://copy\$1from\$1ssh\$1manifest\$1file* 引數必須明確參考單一檔案；不能是金鑰字首。如下列範例所示：  

```
's3://amzn-s3-demo-bucket/ssh_manifest.txt'
```
資訊清單檔案是 JSON 格式的文字檔案，供 Amazon Redshift 用來連接至主機。資訊清單檔案指定 SSH 主機端點，以及要在主機上執行以將資料傳回給 Amazon Redshift 的命令。您可以選擇在每個項目中包含主機公有金鑰、登入使用者名稱及 mandatory 旗標。下列範例顯示的資訊清單檔案會建立兩個 SSH 連線：  

```
{ 
    "entries": [ 
	    {"endpoint":"<ssh_endpoint_or_IP>", 
           "command": "<remote_command>",
           "mandatory":true, 
           "publickey": "<public_key>", 
           "username": "<host_user_name>"}, 
	    {"endpoint":"<ssh_endpoint_or_IP>", 
           "command": "<remote_command>",
           "mandatory":true, 
           "publickey": "<public_key>", 
           "username": "<host_user_name>"} 
     ] 
}
```
資訊清單檔案包含一個 `"entries"` 結構來含括每個 SSH 連線。您可以對單一主機建立多個連線，也可以對多台主機建立多個連線。如圖所示，欄位名稱和值都需要雙引號字元。引號字元必須是簡單引號 (0x22)，而不是斜向或「智慧型」引號。唯一不需要雙引號字元的值是 `"mandatory"` 欄位的布林值 `true` 或 `false`。  
下列清單描述資訊清單檔案中的欄位。    
端點  <a name="copy-ssh-manifest-endpoint"></a>
主機的 URL 地址或 IP 地址，例如 `"ec2-111-222-333.compute-1.amazonaws.com"` 或 `"198.51.100.0"`。  
command  <a name="copy-ssh-manifest-command"></a>
主機執行的命令，會產生文字輸出或 gzip、lzop、bzip2 或 zstd 格式的二進位輸出。命令可以是使用者 *"host\$1user\$1name"* 有許可執行的任何命令。命令可能像是列印檔案這麼簡單，也可能是查詢資料庫或啟動指令碼。輸出 (文字檔案、gzip 二進位檔案、lzop 二進位檔案，或 bzip2 二進位檔案) 必須是 Amazon Redshift COPY 命令可擷取的格式。如需詳細資訊，請參閱[準備您的輸入資料](t_preparing-input-data.md)。  
publickey  <a name="copy-ssh-manifest-publickey"></a>
(選用) 主機的公有金鑰。如果提供，Amazon Redshift 會使用公有金鑰來識別主機。如果未提供公有金鑰，Amazon Redshift 不會嘗試識別主機。例如，若遠端主機的公有金鑰是 `ssh-rsa AbcCbaxxx…Example root@amazon.com`，請在公有金鑰欄位中輸入下列文字：`"AbcCbaxxx…Example"`  
mandatory  <a name="copy-ssh-manifest-mandatory"></a>
(選用) 此子句指出如果嘗試連線失敗，COPY 命令是否就應該失敗。預設值為 `false`。如果 Amazon Redshift 未成功建立至少一個連線，則 COPY 命令會失敗。  
使用者名稱  <a name="copy-ssh-manifest-username"></a>
(選用) 用來登入主機系統並執行遠端命令的使用者名稱。使用者登入名稱與用來將 Amazon Redshift 叢集公有金鑰新增至主機授權金鑰檔案的登入必須相同。預設使用者名稱為 `redshift`。
如需建立資訊清單檔案的相關資訊，請參閱[載入資料程序](loading-data-from-remote-hosts.md#load-from-host-process)。  
若要從遠端主機進行 COPY，則必須使用 COPY 命令指定 SSH 參數。如果未指定 SSH 參數，COPY 會假設 FROM 指定的檔案是資料檔案，而且將會失敗。  
如果您使用自動壓縮，COPY 命令會執行兩次資料讀取操作，也就是會執行遠端命令兩次。第一次讀取操作會提供資料樣本進行壓縮分析，第二次讀取操作就會實際載入資料。如果遠端命令的兩次執行可能造成問題，請停用自動壓縮。若要停用自動壓縮，請在執行 COPY 命令時將 COMPUPDATE 參數設為 OFF。如需詳細資訊，請參閱[利用自動壓縮載入資料表](c_Loading_tables_auto_compress.md)。  
關於使用從 SSH COPY 的詳細程序，請參閱[從遠端主機載入資料](loading-data-from-remote-hosts.md)。

*authorization*  
COPY 命令需要取得授權來存取另一個 AWS 資源中 (包括在 Amazon S3、Amazon EMR、Amazon DynamoDB 和 Amazon EC2 中) 的資料。您可以參考連接至叢集的 AWS Identity and Access Management (IAM) 角色 （以角色為基礎的存取控制），或提供使用者的存取憑證 （以金鑰為基礎的存取控制），以提供該授權。為了提高安全性和彈性，建議使用 IAM 角色型存取控制。如需詳細資訊，請參閱[授權參數](copy-parameters-authorization.md)。

SSH  <a name="copy-ssh"></a>
此子句指定從使用 SSH 通訊協定的遠端主機載入資料。如果指定 SSH，則還必須使用 [s3://copy_from_ssh_manifest_file](#copy-ssh-manifest) 引數提供資訊清單檔案。  
如果您使用 SSH 從位在遠端 VPC 使用私有 IP 地址的主機複製，該 VPC 必須已啟用增強型 VPC 路由。如需增強型 VPC 路由的相關資訊，請參閱 [Amazon Redshift 增強型 VPC 路由](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html)。

## 選用的參數
<a name="copy-parameters-data-source-ssh-optional-parms"></a>

從 SSH COPY 時，您可以選擇性指定下列參數：
+ [欄映射選項](copy-parameters-column-mapping.md)
+ [資料格式參數](copy-parameters-data-format.md#copy-data-format-parameters)
+ [資料轉換參數](copy-parameters-data-conversion.md)
+ [資料載入操作](copy-parameters-data-load.md)

## 不支援的參數
<a name="copy-parameters-data-source-ssh-unsupported-parms"></a>

從 SSH COPY 時，您不能使用下列參數：
+ ENCRYPTED
+ MANIFEST
+ READRATIO

# 從 Amazon DynamoDB 進行 COPY
<a name="copy-parameters-data-source-dynamodb"></a>

若要從現有的 DynamoDB 資料表載入資料，請使用 FROM 子句來指定 DynamoDB 資料表名稱。

**Topics**
+ [語法](#copy-parameters-data-source-dynamodb-syntax)
+ [範例](#copy-parameters-data-source-dynamodb-examples)
+ [選用的參數](#copy-parameters-data-source-dynamodb-optional-parms)
+ [不支援的參數](#copy-parameters-data-source-dynamodb-unsupported-parms)

**重要**  
如果 DynamoDB 資料表所在區域與 Amazon Redshift 叢集的區域不是同一個，您必須使用 REGION 參數來指定資料所在的區域。

## 語法
<a name="copy-parameters-data-source-dynamodb-syntax"></a>

```
FROM 'dynamodb://table-name' 
authorization
READRATIO ratio
| REGION [AS] 'aws_region'  
| optional-parameters
```

## 範例
<a name="copy-parameters-data-source-dynamodb-examples"></a>

下列範例從 DynamoDB 資料表載入資料。

```
copy favoritemovies from 'dynamodb://ProductCatalog'
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
readratio 50;
```

### Parameters
<a name="copy-parameters-data-source-dynamodb-parameters"></a>

FROM  
載入的資料來源。

'dynamodb://*table-name*'  <a name="copy-dynamodb"></a>
包含資料之 DynamoDB 資料表的名稱，例如 `'dynamodb://ProductCatalog'`。如需 DynamoDB 屬性如何映射至 Amazon Redshift 欄的詳細資訊，請參閱[從 Amazon DynamoDB 資料表載入資料](t_Loading-data-from-dynamodb.md)。  
DynamoDB 資料表名稱對 AWS 帳戶是唯一的，由 AWS 存取憑證識別。

*authorization*  
COPY 命令需要取得授權來存取另一個 AWS 資源中 (包括在 Amazon S3、Amazon EMR、DynamoDB 和 Amazon EC2 中) 的資料。您可以參考連接至叢集的 AWS Identity and Access Management (IAM) 角色 （以角色為基礎的存取控制），或提供使用者的存取憑證 （以金鑰為基礎的存取控制），以提供該授權。為了提高安全性和彈性，建議使用 IAM 角色型存取控制。如需詳細資訊，請參閱[授權參數](copy-parameters-authorization.md)。

READRATIO [AS] *比率*  <a name="copy-readratio"></a>
DynamoDB 資料表的佈建輸送量中用於資料載入的百分比。從 DynamoDB 的 COPY 需要 READRATIO。此項目不能用於從 Amazon S3 的 COPY。強烈建議將此比率設定為小於平均未用佈建輸送量的值。有效值為整數 1–200。  
將 READRATIO 設為 100 或更高會使 Amazon Redshift 完全耗盡 DynamoDB 資料表的佈建輸送量，導致 COPY 工作階段期間對相同資料表同時執行的讀取操作效能嚴重降低。寫入流量不受影響。在 Amazon Redshift 無法滿足資料表的佈建輸送量的罕見情況下，允許使用高於 100 的值來排解此問題。如果您持續從 DynamoDB 將資料載入 Amazon Redshift，請考慮以時間序列來組織 DynamoDB 資料表，以分隔來自 COPY 操作的即時流量。

## 選用的參數
<a name="copy-parameters-data-source-dynamodb-optional-parms"></a>

從 Amazon DynamoDB COPY 時，您可以選擇性指定下列參數：
+ [欄映射選項](copy-parameters-column-mapping.md)
+ 支援下列資料轉換參數：
  + [ACCEPTANYDATE](copy-parameters-data-conversion.md#copy-acceptanydate) 
  + [BLANKSASNULL](copy-parameters-data-conversion.md#copy-blanksasnull) 
  + [DATEFORMAT](copy-parameters-data-conversion.md#copy-dateformat) 
  + [EMPTYASNULL](copy-parameters-data-conversion.md#copy-emptyasnull) 
  + [ROUNDEC](copy-parameters-data-conversion.md#copy-roundec) 
  + [TIMEFORMAT](copy-parameters-data-conversion.md#copy-timeformat) 
  + [TRIMBLANKS](copy-parameters-data-conversion.md#copy-trimblanks) 
  + [TRUNCATECOLUMNS](copy-parameters-data-conversion.md#copy-truncatecolumns) 
+ [資料載入操作](copy-parameters-data-load.md)

## 不支援的參數
<a name="copy-parameters-data-source-dynamodb-unsupported-parms"></a>

從 DynamoDB COPY 時，您不能使用下列參數：
+ 所有資料格式參數
+ ESCAPE
+ FILLRECORD
+ IGNOREBLANKLINES
+ IGNOREHEADER
+ NULL
+ REMOVEQUOTES
+ ACCEPTINVCHARS
+ MANIFEST
+ ENCRYPTED