

 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="query-editor-v2-loading-data-local"></a>

您可以將資料從本機檔案載入到現有資料表或新的資料表。

## 從本機檔案載入資料的管理員設定
<a name="query-editor-v2-loading-data-local-setup"></a>

您的查詢編輯器 v2 管理員必須在**帳戶設定**視窗中指定常用的 Amazon S3 儲存貯體。您必須已為帳戶使用者設定適當的許可。
+ 必要的 IAM 許可 — 從本機檔案載入資料的使用者必須具有 `s3:ListBucket`、`s3:GetBucketLocation`、`s3:putObject`、`s3:getObject` 和 `s3:deleteObject` 許可。您可以指定 {{optional-prefix}}，以限制只有具有此字首的物件能透過查詢編輯器 v2 使用此儲存貯體。如果您透過查詢編輯器 v2 以外的工具使用這個相同的 Amazon S3 儲存貯體，便可以使用此選項。如需儲存貯體和字首的相關資訊，請參閱《Amazon Simple Storage Service 使用者指南》**中的[管理使用者對特定資料夾的存取](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-folders)。為了確保系統不會允許跨使用者的資料存取，建議查詢編輯器 v2 管理員使用 Amazon S3 儲存貯體政策來根據 `aws:userid` 限制物件的存取。下列範例會向字首為 `aws:userid` 的 Amazon S3 物件允許具有唯讀/唯寫存取權限的 {{<staging-bucket-name>}} Amazon S3 許可。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "s3:ListBucket",
                  "s3:GetBucketLocation"
              ],
              "Resource": [
                  "arn:aws:s3:::{{<staging-bucket-name>}}"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject",
                  "s3:GetObject",
                  "s3:DeleteObject"
              ],
              "Resource": [
                  "arn:aws:s3:::{{<staging-bucket-name>[/<optional-prefix>]}}/${aws:userid}/*"
              ]
          }
      ]
  }
  ```

------
+ 資料分隔 — 建議不要讓使用者擁有存取彼此資料的權限 (即使很短暫也不行)。從本機檔案載入的方式會使用查詢編輯器 v2 管理員所設定的暫存 Amazon S3 儲存貯體。請設定暫存儲存貯體的儲存貯體政策，以在使用者之間提供資料分隔機制。下列範例顯示的儲存貯體政策會在 {{<staging-bucket-name>}} 的使用者之間分隔資料。

------
#### [ JSON ]

****  

  ```
  {
   "Version":"2012-10-17",		 	 	 
      "Statement": [
          {"Sid": "userIdPolicy",
              "Effect": "Deny",
              "Principal": "*",
              "Action": ["s3:PutObject",
                         "s3:GetObject",
                         "s3:DeleteObject"],
              "NotResource": [
                  "arn:aws:s3:::{{<staging-bucket-name>[/<optional-prefix>]}}/${aws:userid}/*"
              ]
           }
      ]
  }
  ```

------

## 從本機檔案載入資料
<a name="query-editor-v2-loading-data-local-procedure"></a>

**將本機檔案的資料載入到現有資料表**

查詢編輯器 v2 管理員必須在**帳戶設定**視窗中指定通用的 Amazon S3 儲存貯體。查詢編輯器 v2 會自動將本機檔案上傳到您帳戶使用的通用 Amazon S3 儲存貯體，然後使用 COPY 命令載入資料。查詢編輯器 v2 的載入本機檔案視窗所產生和執行的 COPY 命令，支援許多可供 COPY 命令語法從 Amazon S3 進行複製的參數。如需 COPY 命令及其用於從 Amazon S3 載入資料之選項的詳細資訊，請參閱《Amazon Redshift 資料庫開發人員指南》**中的[從 Amazon S3 進行 COPY](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source-s3.html)。

1. 確認您要將資料載入到其中的資料庫內已建立資料表。

1. 確認您已連線至查詢編輯器 v2 的樹狀檢視面板中的目標資料庫。您可以使用內容功能表 (按一下滑鼠右鍵) 對要在其中載入資料的叢集或工作群組建立連線。

1. 選擇 ![Load](http://docs.aws.amazon.com/zh_tw/redshift/latest/mgmt/images/qev2-upload.png) **載入資料**。

1. 對於**資料來源**，選擇**從本機檔案載入**。

1. 選擇**瀏覽**以尋找包含要**載入檔案**之資料的檔案。依預設，系統會顯示副檔名為 `.csv`、`.avro`、`.parquet` 和 `.orc` 的檔案，但您也可以選擇其他檔案類型。 檔案大小上限為 100 MB。

1. 為要上傳的檔案選擇**檔案格式**。支援的資料格式有 CSV、JSON、DELIMITER、FIXEDWIDTH、SHAPEFILE、AVRO、PARQUET 和 ORC。根據指定的檔案格式，您可以選擇相應的**檔案選項**。如果資料有加密，您也可以選取**資料已加密**，然後輸入用來加密資料之 KMS 金鑰的 Amazon Resource Name (ARN)。

   如果您選擇 CSV 或 DELIMITER」，則也可以選擇**分隔符號字元**，以及是否要**忽略標頭資料列** (如果指定的資料列數目實際上是資料欄名稱而非要載入的資料)。

1. (選擇性) **進階設定**支援各種**資料轉換參數**和**載入操作**。視需要為您的檔案輸入此資訊。

   如需資料轉換和資料載入參數的相關資訊，請參閱《Amazon Redshift 資料庫開發人員指南》**中的[資料轉換參數](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html)和[資料載入操作](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html)。

1. 選擇**下一步**。

1. 選擇**載入現有資料表**。

1. 確認或選擇在其中載入資料的**目標資料表**的位置，包括**叢集或工作群組**、**資料庫**、**結構描述**以及**資料表**名稱。

1. (選擇性) 您可以選擇資料欄名稱，在**資料欄映射**中輸入以依照輸入資料檔案的順序映射資料欄。

1. 選擇**載入資料**以開始載入資料。

   載入完成時，無論載入是否成功，系統都會顯示訊息。如果成功，您便可立即使用 SQL 從所載入的資料表中選取資料。如果發生錯誤，請查詢系統檢視 STL\_LOAD\_ERRORS 以取得更多詳細資訊。如需有關 COPY 命令錯誤的資訊，請參閱《Amazon Redshift 資料庫開發人員指南》**中的 [STL\_LOAD\_ERRORS](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_ERRORS.html)。

   用來載入資料的 COPY 命令範本會出現在您的**查詢歷史記錄**中。此 COPY 命令範本會顯示一些已使用的參數，但其無法直接在編輯器索引標籤中執行。如需查詢歷史記錄的相關資訊，請參閱[檢視查詢和標籤歷史記錄](query-editor-v2-history.md)。

當您將資料載入到新的資料表時，查詢編輯器 v2 會先在資料庫中建立資料表，再於相同工作流程中以個別動作的形式載入資料。

**將本機檔案資料載入到新的資料表**

您的查詢編輯器 v2 管理員必須在**帳戶設定**視窗中指定常用的 Amazon S3 儲存貯體。本機檔案會自動上傳到您帳戶使用的通用 Amazon S3 儲存貯體，然後查詢編輯器 v2 會使用 COPY 命令載入資料。查詢編輯器 v2 的載入本機檔案視窗所產生和執行的 COPY 命令，支援許多可供 COPY 命令語法從 Amazon S3 進行複製的參數。如需 COPY 命令及其用於從 Amazon S3 載入資料之選項的詳細資訊，請參閱《Amazon Redshift 資料庫開發人員指南》**中的[從 Amazon S3 進行 COPY](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source-s3.html)。

1. 確認您已連線至查詢編輯器 v2 的樹狀檢視面板中的目標資料庫。您可以使用內容功能表 (按一下滑鼠右鍵) 對要在其中載入資料的叢集或工作群組建立連線。

1. 選擇 ![Load](http://docs.aws.amazon.com/zh_tw/redshift/latest/mgmt/images/qev2-upload.png) **載入資料**。

1. 對於**資料來源**，選擇**從本機檔案載入**。

1. 選擇**瀏覽**以尋找包含要**載入檔案**之資料的檔案。依預設，系統會顯示副檔名為 `.csv`、`.avro`、`.parquet` 和 `.orc` 的檔案，但您也可以選擇其他檔案類型。 檔案大小上限為 100 MB。

1. 為要上傳的檔案選擇**檔案格式**。支援的資料格式有 CSV、JSON、DELIMITER、FIXEDWIDTH、SHAPEFILE、AVRO、PARQUET 和 ORC。根據指定的檔案格式，您可以選擇相應的**檔案選項**。如果資料有加密，您也可以選取**資料已加密**，然後輸入用來加密資料之 KMS 金鑰的 Amazon Resource Name (ARN)。

   如果您選擇 CSV 或 DELIMITER」，則也可以選擇**分隔符號字元**，以及是否要**忽略標頭資料列** (如果指定的資料列數目實際上是資料欄名稱而非要載入的資料)。

1. (選擇性) **進階設定**支援各種**資料轉換參數**和**載入操作**。視需要為您的檔案輸入此資訊。

   如需資料轉換和資料載入參數的相關資訊，請參閱《Amazon Redshift 資料庫開發人員指南》**中的[資料轉換參數](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html)和[資料載入操作](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html)。

1. 選擇**下一步**。

1. 選擇**載入新資料表**。

1. 確認或選擇在其中載入資料的**目標資料表**的位置，包括**叢集或工作群組**、**資料庫**和**結構描述**。輸入要建立的**資料表**名稱。

1. 選擇**建立資料表**，使用所顯示的定義建立資料表。

   此時會顯示資料表定義的檢閱摘要。資料表會建立到資料庫中。稍後若要刪除資料表，請執行 DROP TABLE SQL 命令。如需詳細資訊，請參閱《Amazon Redshift 資料庫開發人員指南》**中的 [DROP TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_DROP_TABLE)。

1. 選擇**載入資料**以開始載入資料。

   載入完成時，會顯示訊息以指出載入是否成功。如果成功，您便可立即使用 SQL 從所載入的資料表中選取資料。如果發生錯誤，請查詢系統檢視 STL\_LOAD\_ERRORS 以取得更多詳細資訊。如需有關 COPY 命令錯誤的資訊，請參閱《Amazon Redshift 資料庫開發人員指南》**中的 [STL\_LOAD\_ERRORS](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_ERRORS.html)。

   用來載入資料的 COPY 命令範本會出現在您的**查詢歷史記錄**中。此 COPY 命令範本會顯示一些已使用的參數，但其無法直接在編輯器索引標籤中執行。如需查詢歷史記錄的相關資訊，請參閱[檢視查詢和標籤歷史記錄](query-editor-v2-history.md)。