

 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/)。

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

# 使用 COPY 命令從 Amazon S3 載入
<a name="t_loading-tables-from-s3"></a>

使用 [COPY](r_COPY.md) 命令從 Amazon S3 上的資料檔案平行載入資料表。您可以透過使用 Amazon S3 物件字首或使用資訊清單檔案來指定要載入的檔案。

使用字首指定要載入之檔案的語法如下所示：

```
COPY <table_name> FROM 's3://<bucket_name>/<object_prefix>'
authorization;
```

 資訊清單檔案為 JSON 格式檔案，列出要載入的資料檔案。使用資訊清單檔案指定要載入之檔案的語法如下所示：

```
COPY <table_name> FROM 's3://<bucket_name>/<manifest_file>'
authorization
MANIFEST;
```

要載入的資料表必須已存在於資料庫中。如需建立資料表的詳細資訊，請參閱 SQL 參考中的 [CREATE TABLE](r_CREATE_TABLE_NEW.md)。

*授權*的值提供 Amazon Redshift 存取 Amazon S3 物件所需的 AWS 授權。如需所需許可的詳細資訊，請參閱[COPY、UNLOAD 和 CREATE LIBRARY 的 IAM 許可](copy-usage_notes-access-permissions.md#copy-usage_notes-iam-permissions)。身分驗證的偏好方法是指定 IAM\_ROLE 參數，並提供 IAM 角色的 Amazon Resource Name (ARN) 所需的許可。如需詳細資訊，請參閱[角色類型存取控制](copy-usage_notes-access-permissions.md#copy-usage_notes-access-role-based)。

若要使用 IAM\_ROLE 參數進行驗證，請取代 {{<aws-account-id>}} 和 {{<role-name>}}，如下列語法所示。

```
IAM_ROLE 'arn:aws:iam::{{<aws-account-id>}}:role/{{<role-name>}}'
```

下列範例顯示使用 IAM 角色進行身分驗證。

```
COPY customer 
FROM 's3://amzn-s3-demo-bucket/mydata' 
IAM_ROLE 'arn:aws:iam::0123456789012:role/MyRedshiftRole';
```

如需其他授權選項的相關資訊，請參閱[授權參數](copy-parameters-authorization.md)

如果想要驗證您的資料而不實際載入資料表，請使用 NOLOAD 選項搭配 [COPY](r_COPY.md) 命令。

下列範例顯示名為 `venue.txt` 的檔案中以管線分隔資料的前幾個資料列。

```
1|Toyota Park|Bridgeview|IL|0
2|Columbus Crew Stadium|Columbus|OH|0
3|RFK Stadium|Washington|DC|0
```

上傳檔案至 Amazon S3 之前，將檔案分割為多個檔案，使得 COPY 命令可以使用平行處理載入它。檔案數量應為您叢集中的分割的倍數。分割您的載入資料，使檔案皆有相同的大小，在壓縮之後介於 1 MB 至 1 GB。如需詳細資訊，請參閱[從已壓縮和未壓縮的檔案載入資料](t_splitting-data-files.md)。

例如，`venue.txt` 檔案可以分割為四個檔案，如下所示：

```
venue.txt.1
venue.txt.2
venue.txt.3
venue.txt.4
```

下列 COPY 命令會使用資料檔案中以管線分隔的資料來載入 VENUE 資料表，具有 Amazon S3 儲存貯體 `amzn-s3-demo-bucket` 中的字首 'venue'。

**注意**  
下列範例中的 Amazon S3 儲存貯體 `amzn-s3-demo-bucket` 不存在。如需使用現有 Amazon S3 儲存貯體中實際資料的 COPY 命令範例，請參閱[載入範例資料](https://docs.aws.amazon.com/redshift/latest/gsg/cm-dev-t-load-sample-data.html)。

```
COPY venue FROM 's3://amzn-s3-demo-bucket/venue'
IAM_ROLE 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
DELIMITER '|';
```

如果不存在具有 'venue' 金鑰前綴的任何 Amazon S3 物件，則載入會失敗。

**Topics**
+ [使用資訊清單指定資料檔案](loading-data-files-using-manifest.md)
+ [從 Amazon S3 載入壓縮的資料檔案](t_loading-gzip-compressed-data-files-from-S3.md)
+ [從 Amazon S3 載入固定寬度資料](t_loading_fixed_width_data.md)
+ [從 Amazon S3 載入多位元組資料](t_loading_unicode_data.md)
+ [從 Amazon S3 載入加密的資料檔案](c_loading-encrypted-files.md)