

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

# 將資料庫叢集資料匯出至 Amazon S3
<a name="export-cluster-data"></a>

您可以將資料從即時 Amazon Aurora 資料庫叢集匯出至 Amazon S3 儲存貯體。匯出程序會在背景中執行，不會影響您作用中資料庫叢集的效能。

根據預設，會匯出資料庫叢集中的所有資料。但是，您可以選擇匯出特定資料庫、結構描述或資料表集。

Amazon Aurora 會複製資料庫叢集、從複製品中擷取資料，並將資料存放在 Amazon S3 儲存貯體中。資料會以壓縮且一致的 Apache Parquet 格式存放。個別 Parquet 檔案的大小通常約為 1–10 MB。

您可以透過匯出 Aurora MySQL 第 2 版和第 3 版的快照資料而取得的更快效能，不適用於匯出資料庫叢集資料。如需更多詳細資訊，請參閱 [將資料庫叢集快照資料匯出至 Amazon S3](aurora-export-snapshot.md)。

無論您匯出全部或部分資料，都需支付匯出整個資料庫叢集的費用。如需詳細資訊，請參閱 [Amazon Aurora 定價頁面](https://aws.amazon.com/rds/aurora/pricing/)。

匯出資料後，您可以直接透過 Amazon Athena 或 Amazon Redshift Spectrum 等工具分析匯出後的資料。有關使用 Athena 來讀取 Parquet 資料的詳細資訊，請參閱*Amazon Athena 使用者指南*中的 [Parquet SerDe](https://docs.aws.amazon.com/athena/latest/ug/parquet-serde.html)。如需有關使用 Redshift Spectrum 來讀取 Parquet 資料的詳細資訊，請參閱*《Amazon Redshift 資料庫開發人員指南》*中的[從單欄式資料格式的 COPY](https://docs.aws.amazon.com/redshift/latest/dg/copy-usage_notes-copy-from-columnar.html)。

功能可用性和支援會因每個資料庫引擎的特定版本以及 AWS 區域 而有所不同。如需將資料庫叢集資料匯出至 S3 功能之版本和區域可用性的詳細資訊，請參閱 [將叢集資料匯出至 Amazon S3 的支援區域和 Aurora 資料庫引擎](Concepts.Aurora_Fea_Regions_DB-eng.Feature.ExportClusterToS3.md)。

您可以使用下列程序，將資料庫叢集資料匯出至 Amazon S3 儲存貯體。如需詳細資訊，請參閱下列各節。

**匯出資料庫叢集資料的概觀**

1. 識別您要匯出其資料的資料庫叢集。

1. 設定對 Amazon S3 儲存貯體的存取。

   「儲存貯體」**是 Amazon S3 物件或檔案的容器。如要提供存取儲存貯體的資訊，請採取下列步驟：

   1. 識別要匯出資料庫叢集資料的目標 S3 儲存貯體。S3 儲存貯體必須與資料庫叢集位於相同的 AWS 區域。如需更多詳細資訊，請參閱 [識別要匯出的 Amazon S3 儲存貯體](export-cluster-data.Setup.md#export-cluster-data.SetupBucket)。

   1. 建立 AWS Identity and Access Management (IAM) 角色，授予資料庫叢集匯出任務對 S3 儲存貯體的存取權。如需更多詳細資訊，請參閱 [使用 IAM 角色提供對 Amazon S3 儲存貯體的存取權](export-cluster-data.Setup.md#export-cluster-data.SetupIAMRole)。

1. 建立用於伺服器端加密的對稱式加密 AWS KMS key。叢集匯出任務會在將匯出資料寫入至 S3 時，使用 KMS 金鑰來設定 AWS KMS 伺服器端加密。

   KMS 金鑰政策必須同時包含 `kms:CreateGrant` 和 `kms:DescribeKey` 許可。如需在 Amazon Aurora 中使用 KMS 金鑰的詳細資訊，請參閱 [AWS KMS key 管理](Overview.Encryption.Keys.md)。

   如果您的 KMS 金鑰政策中有拒絕陳述式，請務必明確排除 AWS 服務主體 `export.rds.amazonaws.com`。

   您可以使用 AWS 帳戶內的 KMS 金鑰，或使用跨帳戶 KMS 金鑰。如需更多詳細資訊，請參閱 [使用跨帳戶 AWS KMS key](aurora-export-snapshot.Setup.md#aurora-export-snapshot.CMK)。

1. 使用主控台或 `start-export-task` CLI 命令，將資料庫叢集匯出至 Amazon S3。如需更多詳細資訊，請參閱 [建立資料庫叢集匯出任務](export-cluster-data.Exporting.md)。

1. 若要存取 Amazon S3 儲存貯體中您匯出的資料，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[上傳、下載及管理物件](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/upload-download-objects.html)。

在以下各節中了解如何設定、匯出、監控、取消資料庫叢集匯出任務，以及進行疑難排解。

**Topics**
+ [資料庫叢集匯出的考量事項](export-cluster-data.Considerations.md)
+ [設定對 Amazon S3 儲存貯體的存取權](export-cluster-data.Setup.md)
+ [建立資料庫叢集匯出任務](export-cluster-data.Exporting.md)
+ [監控資料庫叢集匯出任務](export-cluster-data.Monitoring.md)
+ [取消資料庫叢集匯出任務](export-cluster-data.Canceling.md)
+ [對資料庫叢集匯出內容進行疑難排解](export-cluster-data.Troubleshooting.md)

# 資料庫叢集匯出的考量事項
<a name="export-cluster-data.Considerations"></a>

使用下列各節，來了解將資料庫叢集資料匯出至 Amazon S3 時的限制、檔案命名慣例，以及資料轉換和儲存。

**Topics**
+ [限制](#export-cluster-data.Limits)
+ [檔案命名慣例](#export-cluster-data.FileNames)
+ [資料轉換和存放格式](#export-cluster-data.data-types)

## 限制
<a name="export-cluster-data.Limits"></a>

將資料庫叢集資料匯出至 Amazon S3 時有下列限制：
+ 您無法同時針對相同的資料庫叢集執行多個匯出任務。這同時適用於完整和部分匯出。
+ 您每個 AWS 帳戶最多可以有五個正在同時進行的資料庫快照匯出任務。
+ Aurora Serverless v1 資料庫叢集不支援匯出至 S3。
+ 對於已佈建引擎模式，Aurora MySQL 和 Aurora PostgreSQL 僅支援匯出至 S3。
+ 匯出至 S3 不支援內含冒號 (:) 的 S3 字首。
+ 在匯出過程中，S3 檔案路徑中的以下字元將轉換為底線 (\$1)：

  ```
  \ ` " (space)
  ```
+ 如果資料庫、結構描述或資料表的名稱中包含下列字元以外的字元，則不支援部分匯出。不過，您可以匯出整個資料庫叢集。
  + 拉丁字母 (A–Z)
  + 數字 (0–9)
  + 美元符號 (\$1)
  + 底線 (\$1)
+ 資料庫資料表資料欄名稱不支援空格 ( ) 和某些字元。資料行名稱中具備下列字元的資料表會在匯出時跳過：

  ```
  , ; { } ( ) \n \t = (space)
  ```
+ 匯出時會略過名稱中具備斜線 (/) 的表格。
+ 匯出期間，系統會略過 Aurora PostgreSQL 的暫存和未記錄資料表。
+ 若資料包含接近或超過 500 MB 的大型物件 (例如 BLOB 或 CLOB)，則匯出會失敗。
+ 如果資料表包含接近或大於 2 GB 的大型資料列，則在匯出期間會略過該資料表。
+ 對於部分匯出，`ExportOnly` 清單的大小上限為 200 KB。
+ 強烈建議您對每個匯出任務使用唯一的名稱。如果不使用唯一的任務名稱，可能會收到下列錯誤訊息：

  ExportTaskAlreadyExistsFault：呼叫 StartExportTask 操作時出現錯誤 (ExportTaskAlreadyExists)：ID *xxxxx* 的匯出任務已存在。
+ 由於某些資料表可能會略過，因此建議您在匯出之後驗證資料中的資料列和資料表計數。

## 檔案命名慣例
<a name="export-cluster-data.FileNames"></a>

特定表格的匯出資料會以 `base_prefix/files` 的格式儲存，其中基本前綴如下：

```
export_identifier/database_name/schema_name.table_name/
```

例如：

```
export-1234567890123-459/rdststcluster/mycluster.DataInsert_7ADB5D19965123A2/
```

輸出檔案使用下列命名慣例，其中 *partition\$1index* 是英數字元：

```
partition_index/part-00000-random_uuid.format-based_extension
```

例如：

```
1/part-00000-c5a881bb-58ff-4ee6-1111-b41ecff340a3-c000.gz.parquet
    a/part-00000-d7a881cc-88cc-5ab7-2222-c41ecab340a4-c000.gz.parquet
```

檔案命名慣例可能會有所變更。因此，在讀取目標資料表時，建議您讀取資料表基本字首內的所有內容。

## 資料轉換和存放格式
<a name="export-cluster-data.data-types"></a>

當您將資料庫叢集匯出至 Amazon S3 儲存貯體時，Amazon Aurora 會以 Parquet 格式轉換、匯出以及存放資料。如需更多詳細資訊，請參閱 [匯出至 Amazon S3 儲存貯體時的資料轉換](aurora-export-snapshot.Considerations.md#aurora-export-snapshot.data-types)。

# 設定對 Amazon S3 儲存貯體的存取權
<a name="export-cluster-data.Setup"></a>

您識別 Amazon S3 儲存貯體，然後許可資料庫叢集匯出任務存取該儲存貯體。

**Topics**
+ [識別要匯出的 Amazon S3 儲存貯體](#export-cluster-data.SetupBucket)
+ [使用 IAM 角色提供對 Amazon S3 儲存貯體的存取權](#export-cluster-data.SetupIAMRole)
+ [使用跨帳戶 Amazon S3 儲存貯體](#export-cluster-data.Setup.XAcctBucket)

## 識別要匯出的 Amazon S3 儲存貯體
<a name="export-cluster-data.SetupBucket"></a>

識別要將資料庫叢集資料匯出至其中的目標 Amazon S3 儲存貯體。使用現有的 S3 儲存貯體或建立新的 S3 儲存貯體。

**注意**  
S3 儲存貯體必須與資料庫叢集位於相同的 AWS 區域。

如需使用 Amazon S3 儲存貯體的詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的下列內容：
+ [ 如何檢視 S3 儲存貯體的屬性？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/view-bucket-properties.html)
+ [ 如何啟用 Amazon S3 儲存貯體的預設加密？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/default-bucket-encryption.html)
+ [ 如何建立 S3 儲存貯體？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html)

## 使用 IAM 角色提供對 Amazon S3 儲存貯體的存取權
<a name="export-cluster-data.SetupIAMRole"></a>

在您將資料庫叢集資料匯出至 Amazon S3 前，請給與匯出任務對 Amazon S3 儲存貯體的寫入存取許可。

若要授予此許可，請建立 IAM 政策，提供儲存貯體的存取權，然後建立 IAM 角色並將該政策附加至其中。稍後，您可以將 IAM 角色指派給資料庫叢集匯出任務。

**重要**  
如果您打算使用 AWS 管理主控台 匯出資料庫叢集，您可以選擇在匯出資料庫叢集時自動建立 IAM 政策和角色。如需說明，請參閱[建立資料庫叢集匯出任務](export-cluster-data.Exporting.md)。

**給與任務 Amazon S3 的存取權**

1. 建立 IAM 政策。此政策會提供儲存貯體和物件許可，允許您的資料庫叢集匯出任務存取 Amazon S3。

   在政策中，包含下列必要動作，以允許將檔案從 Amazon Aurora 傳輸至 S3 儲存貯體：
   + `s3:PutObject*`
   + `s3:GetObject*` 
   + `s3:ListBucket` 
   + `s3:DeleteObject*`
   +  `s3:GetBucketLocation`

   在政策中，包含下列資源，以識別 S3 儲存貯體和該儲存貯體中的物件。以下資源清單會顯示用於存取 Amazon S3 的 Amazon Resource Name (ARN) 格式。
   + `arn:aws:s3:::amzn-s3-demo-bucket`
   + `arn:aws:s3:::amzn-s3-demo-bucket/*`

   如需為 Amazon Aurora 建立 IAM 政策的詳細資訊，請參閱 [建立並使用 IAM 政策進行 IAM 資料庫存取](UsingWithRDS.IAMDBAuth.IAMPolicy.md)。另請參閱《*IAM 使用者指南*》中的[教學：建立和連接您的第一個客戶受管原則](https://docs.aws.amazon.com//IAM/latest/UserGuide/tutorial_managed-policies.html)。

   下列 AWS CLI 命令會使用這些選項建立名為 `ExportPolicy`的 IAM 政策。其將存取權授予名為 *amzn-s3-demo-bucket* 的儲存貯體。
**注意**  
在您建立政策後，請記下政策的 ARN。在後續步驟中將政策附加至 IAM 角色時，您會需要此 ARN。

   ```
   aws iam create-policy  --policy-name ExportPolicy --policy-document '{
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "ExportPolicy",
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject*",
                   "s3:ListBucket",
                   "s3:GetObject*",
                   "s3:DeleteObject*",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }'
   ```

1. 建立 IAM 角色，讓 Aurora 可以代表您擔任此 IAM 角色，以存取您的 Amazon S3 儲存貯體。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[建立角色以將許可委派給 IAM 使用者](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)。

   下列範例顯示使用 AWS CLI 命令來建立名為 的角色`rds-s3-export-role`。

   ```
   aws iam create-role  --role-name rds-s3-export-role  --assume-role-policy-document '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
               "Service": "export.rds.amazonaws.com"
             },
            "Action": "sts:AssumeRole"
          }
        ] 
      }'
   ```

1. 將您建立的 IAM 政策附加至您建立的 IAM 角色。

   下列 AWS CLI 命令會將先前建立的政策連接至名為 的角色`rds-s3-export-role`。將 `your-policy-arn` 取代成您在稍早步驟中記下的政策 ARN。

   ```
   aws iam attach-role-policy  --policy-arn your-policy-arn  --role-name rds-s3-export-role
   ```

## 使用跨帳戶 Amazon S3 儲存貯體
<a name="export-cluster-data.Setup.XAcctBucket"></a>

您可以跨 AWS 帳戶使用 S3 儲存貯體。如需詳細資訊，請參閱[使用跨帳戶 Amazon S3 儲存貯體](aurora-export-snapshot.Setup.md#aurora-export-snapshot.Setup.XAcctBucket)。

# 建立資料庫叢集匯出任務
<a name="export-cluster-data.Exporting"></a>

建立匯出任務，將資料從 Aurora 資料庫叢集匯出至 Amazon S3 儲存貯體。您每個 AWS 帳戶最多可以有五個正在同時進行的資料庫叢集匯出任務。

**注意**  
匯出資料庫叢集資料可能需要一段時間，取決於您的資料庫類型和大小。匯出任務會先複製和擴展整個資料庫，然後再將資料擷取到 Amazon S3。此階段期間的工作進度會顯示為**STARTING (開始)**。當任務切換到將資料匯出到 S3 時，進度會顯示為 **In progress (進行中)**。  
匯出完成所需的時間取決於儲存在資料庫中的資料。例如，如果資料表有分散均勻的數值主索引鍵或索引資料欄，則匯出速度最快。未包含適用於資料分割之資料欄的資料表，以及在字串型資料欄上只有一個索引的資料表，因為匯出使用較慢的單一執行緒程序，所以將會需要更長的時間。

您可以使用 AWS 管理主控台、AWS CLI 或 RDS API，將資料庫叢集資料匯出至 Amazon S3。

如果您使用 Lambda 函數匯出資料庫叢集資料，請將 `kms:DescribeKey` 動作新增至 Lambda 函數政策。如需詳細資訊，請參閱 [AWS Lambda 許可](https://docs.aws.amazon.com/lambda/latest/dg/lambda-permissions.html)。

## 主控台
<a name="export-cluster-data.ExportConsole"></a>

**Export to Amazon S3** (匯出至 Amazon S3) 主控台選項僅會針對可匯出至 Amazon S3 的資料庫叢集顯示。由於下列原因，資料庫叢集可能無法匯出：
+ S3 匯出不支援此資料庫引擎。
+ S3 匯出不支援資料庫叢集版本。
+ 已建立資料庫叢集的 AWS 區域不支援 S3 匯出。

**匯出資料庫叢集資料**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 選擇您要匯出其資料的資料庫叢集。

1. 針對 **Actions** (動作)，選擇 **Export to Amazon S3** (匯出至 Amazon S3)。

   隨即出現 **Export to Amazon S3 (匯出至 Amazon S3)** 視窗。

1. 針對 **Export identifier (匯出識別符)**，輸入名稱以識別匯出任務。這個值也會用來做為在 S3 儲存貯體中建立的檔案名稱。

1. 選擇匯出的資料：
   + 選擇 **All** (全部) 來匯出資料庫叢集中的所有資料。
   + 選擇 **Partial** (部分) 來匯出資料庫叢集的特定部分。若要識別要匯出的叢集部分，請針對 **Identifier (識別符)** 輸入一或多個資料庫、結構描述或表格，並以空格分隔。

     使用下列格式：

     ```
     database[.schema][.table] database2[.schema2][.table2] ... databasen[.scheman][.tablen]
     ```

     例如：

     ```
     mydatabase mydatabase2.myschema1 mydatabase2.myschema2.mytable1 mydatabase2.myschema2.mytable2
     ```

1. 針對 **S3 bucket (S3 儲存貯體)**，選擇要匯出的儲存貯體。

   如要將匯出資料指派給 S3 儲存貯體中的資料夾路徑，請針對 **S3 prefix (S3 字首)** 輸入選用的路徑。

1. 針對 **IAM role (IAM 角色)**，您可選擇授予對您所選擇 S3 儲存貯體寫入存取權限的角色，或建立新角色。
   + 如果您透過遵循 [使用 IAM 角色提供對 Amazon S3 儲存貯體的存取權](export-cluster-data.Setup.md#export-cluster-data.SetupIAMRole) 中的步驟建立了角色，請選擇該角色。
   + 如果您沒有建立授予您所選擇 S3 儲存貯體寫入存取權限的角色，請選擇 **Create a new role** (建立新角色) 以自動建立角色。接下來，為 **IAM 角色名稱 (IAM role name)** 中的角色輸入名稱。

1. 針對 **KMS key** (KMS 金鑰)，輸入金鑰的 ARN 以加密匯出的資料。

1. 選擇 **Export to Amazon S3 (匯出至 Amazon S3)**。

## AWS CLI
<a name="export-cluster-data.ExportCLI"></a>

若要使用 AWS CLI 將資料庫叢集資料匯出至 Amazon S3，請搭配下列必要選項使用 [start-export-task](https://docs.aws.amazon.com/cli/latest/reference/rds/start-export-task.html) 命令：
+ `--export-task-identifier`
+ `--source-arn` – 資料庫叢集的 Amazon Resource Name (ARN)。
+ `--s3-bucket-name`
+ `--iam-role-arn`
+ `--kms-key-id`

在下列範例中，匯出任務名為 *my-cluster-export*，其會將資料匯出至名為 *amzn-s3-demo-destination-bucket* 的 S3 儲存貯體。

**Example**  
對於 Linux、macOS 或 Unix：  

```
1. aws rds start-export-task \
2.     --export-task-identifier my-cluster-export \
3.     --source-arn arn:aws:rds:us-west-2:123456789012:cluster:my-cluster \
4.     --s3-bucket-name amzn-s3-demo-destination-bucket \
5.     --iam-role-arn iam-role \
6.     --kms-key-id my-key
```
在 Windows 中：  

```
1. aws rds start-export-task ^
2.     --export-task-identifier my-DB-cluster-export ^
3.     --source-arn arn:aws:rds:us-west-2:123456789012:cluster:my-cluster ^
4.     --s3-bucket-name amzn-s3-demo-destination-bucket ^
5.     --iam-role-arn iam-role ^
6.     --kms-key-id my-key
```
範例輸出如下。  

```
{
    "ExportTaskIdentifier": "my-cluster-export",
    "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:my-cluster",
    "S3Bucket": "amzn-s3-demo-destination-bucket",
    "IamRoleArn": "arn:aws:iam:123456789012:role/ExportTest",
    "KmsKeyId": "my-key",
    "Status": "STARTING",
    "PercentProgress": 0,
    "TotalExtractedDataInGB": 0,
}
```
若要為資料庫叢集匯出提供 S3 儲存貯體中的資料夾路徑，請在 [start-export-task](https://docs.aws.amazon.com/cli/latest/reference/rds/start-export-task.html) 命令中包含 `--s3-prefix` 選項。

## RDS API
<a name="export-cluster-data.ExportAPI"></a>

若要使用 Amazon RDS API 將資料庫叢集資料匯出至 Amazon S3，請搭配下列必要參數使用 [StartExportTask](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StartExportTask.html) 操作：
+ `ExportTaskIdentifier`
+ `SourceArn` – 資料庫叢集的 ARN。
+ `S3BucketName`
+ `IamRoleArn`
+ `KmsKeyId`

# 監控資料庫叢集匯出任務
<a name="export-cluster-data.Monitoring"></a>

您可以使用 AWS 管理主控台、AWS CLI 或 RDS API 監控資料庫叢集匯出。

## 主控台
<a name="export-cluster-data.MonitorConsole"></a>

**監控資料庫叢集匯出**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Exports in Amazon S3** (在 Amazon S3 中匯出)。

   資料庫叢集匯出會在 **Source type** (來源類型) 欄中指出。匯出狀態會顯示在 **Status** (狀態) 欄中。

1. 若要檢視特定資料庫叢集匯出的詳細資訊，請選擇匯出任務。

## AWS CLI
<a name="export-cluster-data.MonitorCLI"></a>

若要使用 AWS CLI 監控資料庫叢集匯出任務，請使用 [describe-export-tasks](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-export-tasks.html) 命令。

以下範例示範如何顯示您所有資料庫叢集匯出的目前資訊。

**Example**  

```
 1. aws rds describe-export-tasks
 2. 
 3. {
 4.     "ExportTasks": [
 5.         {
 6.             "Status": "CANCELED",
 7.             "TaskEndTime": "2022-11-01T17:36:46.961Z",
 8.             "S3Prefix": "something",
 9.             "S3Bucket": "amzn-s3-demo-bucket",
10.             "PercentProgress": 0,
11.             "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/K7MDENG/bPxRfiCYEXAMPLEKEY",
12.             "ExportTaskIdentifier": "anewtest",
13.             "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3",
14.             "TotalExtractedDataInGB": 0,
15.             "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:parameter-groups-test"
16.         },
17. {
18.             "Status": "COMPLETE",
19.             "TaskStartTime": "2022-10-31T20:58:06.998Z",
20.             "TaskEndTime": "2022-10-31T21:37:28.312Z",
21.             "WarningMessage": "{\"skippedTables\":[],\"skippedObjectives\":[],\"general\":[{\"reason\":\"FAILED_TO_EXTRACT_TABLES_LIST_FOR_DATABASE\"}]}",
22.             "S3Prefix": "",
23.             "S3Bucket": "amzn-s3-demo-bucket1",
24.             "PercentProgress": 100,
25.             "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/2Zp9Utk/h3yCo8nvbEXAMPLEKEY",
26.             "ExportTaskIdentifier": "thursday-events-test", 
27.             "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3",
28.             "TotalExtractedDataInGB": 263,
29.             "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:example-1-2019-10-31-06-44"
30.         },
31.         {
32.             "Status": "FAILED",
33.             "TaskEndTime": "2022-10-31T02:12:36.409Z",
34.             "FailureCause": "The S3 bucket amzn-s3-demo-bucket2 isn't located in the current AWS Region. Please, review your S3 bucket name and retry the export.",
35.             "S3Prefix": "",
36.             "S3Bucket": "amzn-s3-demo-bucket2",
37.             "PercentProgress": 0,
38.             "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/2Zp9Utk/h3yCo8nvbEXAMPLEKEY",
39.             "ExportTaskIdentifier": "wednesday-afternoon-test",
40.             "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3",
41.             "TotalExtractedDataInGB": 0,
42.             "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:example-1-2019-10-30-06-45"
43.         }
44.     ]
45. }
```
若要顯示特定匯出任務的相關資訊，請在 `--export-task-identifier` 命令中包含 `describe-export-tasks` 選項。如要篩選輸出，請包含 `--Filters` 選項。如需更多選項，請參閱 [describe-export-tasks](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-export-tasks.html) 命令。

## RDS API
<a name="export-cluster-data.MonitorAPI"></a>

若要使用 Amazon RDS API 顯示資料庫叢集匯出的相關資訊，請使用 [DescribeExportTasks](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeExportTasks.html) 操作。

若要追蹤匯出工作流程的完成或起始其他工作流程，您可以訂閱 Amazon Simple Notification Service 主題。如需 Amazon SNS 的詳細資訊，請參閱[使用 Amazon RDS 事件通知](USER_Events.md)。

# 取消資料庫叢集匯出任務
<a name="export-cluster-data.Canceling"></a>

您可以使用 AWS 管理主控台、AWS CLI 或 RDS API 取消資料庫叢集匯出任務。

**注意**  
取消匯出匯出任務不會移除任何已匯出到 Amazon S3 的資料。如需如何使用主控台刪除資料的資訊，請參閱[如何從 S3 儲存貯體刪除物件？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/delete-objects.html) 如要使用 CLI 刪除資料，請使用 [delete-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html) 命令。

## 主控台
<a name="export-cluster-data.CancelConsole"></a>

**取消資料庫叢集匯出任務**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Exports in Amazon S3** (在 Amazon S3 中匯出)。

   資料庫叢集匯出會在 **Source type** (來源類型) 欄中指出。匯出狀態會顯示在 **Status** (狀態) 欄中。

1. 選擇您想要取消的匯出任務。

1. 選擇 **Cancel (取消)**。

1. 選擇確認頁面上的 **Cancel export task (取消匯出任務)**。

 

## AWS CLI
<a name="export-cluster-data.CancelCLI"></a>

若要使用 AWS CLI 取消匯出任務，請使用 [cancel-export-task](https://docs.aws.amazon.com/cli/latest/reference/rds/cancel-export-task.html) 命令。命令需要 `--export-task-identifier` 選項。

**Example**  

```
 1. aws rds cancel-export-task --export-task-identifier my-export
 2. {
 3.     "Status": "CANCELING",
 4.     "S3Prefix": "",
 5.     "S3Bucket": "amzn-s3-demo-bucket",
 6.     "PercentProgress": 0,
 7.     "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/K7MDENG/bPxRfiCYEXAMPLEKEY",
 8.     "ExportTaskIdentifier": "my-export",
 9.     "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3",
10.     "TotalExtractedDataInGB": 0,
11.     "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:export-example-1"
12. }
```

## RDS API
<a name="export-cluster-data.CancelAPI"></a>

若要使用 Amazon RDS API 取消匯出任務，請搭配 `ExportTaskIdentifier` 參數使用 [CancelExportTask](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CancelExportTask.html) 操作。

# 對資料庫叢集匯出內容進行疑難排解
<a name="export-cluster-data.Troubleshooting"></a>

使用下列各節，來協助針對資料庫叢集匯出任務到 Amazon S3 的失敗訊息和 PostgreSQL 許可錯誤進行疑難排解。

## Amazon S3 匯出任務的失敗訊息
<a name="export-cluster-data.failure-msg"></a>

下表說明 Amazon S3 匯出任務失敗時傳回的訊息。


| 失敗訊息 | 描述 | 
| --- | --- | 
| 無法找到或存取來源資料庫叢集:[叢集名稱] | 無法複製來源資料庫叢集。 | 
| 發生未知的內部錯誤。 |  因為不明的錯誤、例外或故障，所以任務失敗。  | 
| 將匯出任務的中繼資料寫入 S3 儲存貯體 [儲存貯體名稱] 時發生未知的內部錯誤。 |  因為不明的錯誤、例外或故障，所以任務失敗。  | 
| RDS 匯出無法寫入匯出任務的中繼資料，因為無法擔任 IAM 角色 [角色 ARN]。 |  匯出任務會擔任您的 IAM 角色，以驗證是否允許將中繼資料寫入 S3 儲存貯體。如果任務無法擔任您的 IAM 角色，則會失敗。  | 
| RDS 匯出無法使用具有 KMS 金鑰 [金鑰 ID] 的 IAM 角色 [角色 ARN]，將匯出任務的中繼資料寫入 S3 儲存貯體 [儲存貯體名稱]。錯誤代碼：[錯誤代碼] |  缺少一或多個許可，因此匯出任務無法存取 S3 儲存貯體。收到下列其中一個錯誤碼時會引發此失敗訊息： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/export-cluster-data.Troubleshooting.html) 這些錯誤碼表示 IAM 角色、S3 儲存貯體或 KMS 金鑰的設定錯誤。  | 
| IAM 角色 [角色 ARN] 未獲得授權在 S3 儲存貯體 [儲存貯體名稱] 上呼叫 [S3 動作]。檢閱您的許可，然後重試匯出。 |  IAM 政策設定錯誤。缺少 S3 儲存貯體上特定 S3 動作的許可，這會導致匯出任務失敗。  | 
| KMS 金鑰檢查失敗。請檢查 KMS 金鑰上的憑證，然後再試一次。 | KMS 金鑰憑證檢查失敗。 | 
| S3 憑證檢查失敗。檢查您的 S3 儲存貯體與 IAM 政策的許可。 | S3 憑證檢查失敗。 | 
| S3 儲存貯體 [儲存貯體名稱] 無效。可能不是位於目前的 AWS 區域或不存在。檢閱您的 S3 儲存貯體名稱並重試匯出。 | S3 儲存貯體無效。 | 
| S3 儲存貯體 [儲存貯體名稱] 並非位於目前的 AWS 區域。檢閱您的 S3 儲存貯體名稱並重試匯出。 | S3 儲存貯體位於錯誤的 AWS 區域。 | 

## 對 PostgreSQL 許可錯誤進行故障診斷
<a name="export-cluster-data.postgres-permissions"></a>

將 PostgreSQL 資料庫匯出至 Amazon S3 時，您可能會看到 `PERMISSIONS_DO_NOT_EXIST` 錯誤，指出某些資料表已略過。您在建立資料庫叢集時指定的超級使用者，若沒有存取這些資料表的許可，通常就會發生此錯誤。

若要修正此錯誤，請執行下列命令：

```
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA schema_name TO superuser_name
```

如需超級使用者權限的詳細資訊，請參閱[主要使用者帳戶權限](UsingWithRDS.MasterAccounts.md)。