

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

# 使用匯出至 S3 並從 S3 匯入的方式移轉資料表
<a name="bp-migrating-table-between-accounts-s3"></a>

**先決條件**
+ 您必須為資料表啟用時間點復原 (PITR)，才能執行匯出至 S3。如需詳細資訊，請參閱[DynamoDB 的時間點復原](PointInTimeRecovery_Howitworks.md)。
+ 具有執行匯出所需的有效 IAM 權限。如需詳細資訊，請參閱[請求在 DynamoDB 中匯出資料表](S3DataExport_Requesting.md)。
+ 具有足以執行匯入的有效 IAM 權限。如需詳細資訊，請參閱[請求在 DynamoDB 中匯入資料表](S3DataImport.Requesting.md)。

**定價資訊**

AWS PITR 的費用 （根據資料表的大小和啟用 PITR 的時間長度）。若僅為匯出啟用 PITR，可在匯出完成後關閉。 AWS 也會針對 S3 請求、匯出資料儲存與匯入作業 (依未壓縮資料大小) 收費。

如需 DynamoDB 定價詳細資訊，請參閱 [DynamoDB 定價](https://aws.amazon.com/dynamodb/pricing/)。

**注意**  
 從 S3 匯入至 DynamoDB 時，物件大小與數量皆有限制。如需詳細資訊，請參閱[匯入配額](S3DataImport.Validation.md#S3DataImport.Validation.limits)。

## 請求將資料表匯出至 Amazon S3
<a name="bp-migrating-table-between-accounts-s3-table-export"></a>

1. 登入 AWS 管理主控台並開啟 DynamoDB 主控台。

1. 在主控台左側的導覽窗格中，選擇 **Exports to S3** (匯出至 S3)。

1. 選擇來源資料表和目的地 S3 儲存貯體。使用 `s3://bucketname/prefix` 格式輸入目標帳戶的儲存貯體 URL。`/prefix` 是可協助整理目的地儲存貯體的選用資料夾。

1. 選取**完整匯出**。完整匯出會在您指定的時間點輸出資料表的完整快照。

   1. 選取**目前時間**以匯出最新的完整資料表快照。

   1. 對於**匯出的檔案格式**，選擇 DynamoDB JSON 和 Amazon Ion 兩者之一。預設為 DynamoDB JSON。

1. 按一下 **Export** (匯出) 按鈕開始匯出。

1. 小型資料表匯出通常在數分鐘內完成，但 TB 級資料表可能需超過一小時。

## 從 Amazon S3 請求匯入資料表
<a name="bp-migrating-table-between-accounts-s3-table-import"></a>

1. 登入 AWS 管理主控台並開啟 DynamoDB 主控台。

1. 在主控台左側的導覽窗格中，選擇 **Import from S3** (從 S3 匯入)。

1. 在出現的頁面上，選取 **Import from S3** (從 S3 匯入)。

1. 輸入 Amazon S3 來源 URL。您也可以使用**瀏覽 S3** 按鈕找到它。預期的路徑格式為 `s3://bucket/prefix/AWSDynamoDB/<XXXXXXXX-XXXXXX>/data/`。

1. 指定您是否為 S3 bucket owner (S3 儲存貯體擁有者)。

1. 在**匯入檔案壓縮**中，選取 **GZIP** 以符合匯出。

1. 在**匯入檔案格式**中，選取 **DynamoDB JSON** 以符合匯出。

1. 選取**下一步**。在**指定資料表詳細資訊**中，選取要建立的新資料表選項以儲存您的資料。

1. 選取**下一步**。在**設定資料表設定**中，如有需要可自訂其他設定。

1. 選擇 **Next** (下一步) 以再次檢視您的匯入選項，然後按一下 **Import** (匯入)，以啟動匯入任務。您會在**從 S3 匯入**下看到新資料表，其狀態為**匯入中**。此期間無法存取資料表。小型匯入通常在數分鐘內完成，但 TB 級資料表可能需超過一小時。

1. 匯入完成後，狀態將顯示為**啟用**，即可開始使用資料表。

## 在移轉期間保持資料表同步
<a name="bp-migrating-table-between-accounts-s3-table-sync"></a>

若能在移轉期間暫停來源資料表的寫入操作，來源與輸出將在移轉後完全一致。若無法暫停寫入操作，移轉後目標資料表通常會落後來源。若要使來源資料表同步，可使用串流 (DynamoDB Streams 或適用於 DynamoDB 的 Kinesis Data Streams) 重播自備份或匯出以來的寫入。

應在將來源資料表匯出至 S3 的時間戳記之前開始讀取串流記錄。例如，若匯出至 S3 發生於下午 2:00，而目標資料表匯入於下午 11:00 完成，應在下午 1:58 啟動 DynamoDB 串流讀取。「變更資料擷取」的串流選項表摘要說明各串流模型的功能。

使用 DynamoDB Streams 搭配 Lambda，可提供精簡的資料同步方法，讓來源與目標 DynamoDB 資料表保持一致。可使用 Lambda 函式重播目標資料表中的每筆寫入。

**注意**  
項目會在 DynamoDB Streams 中保留 24 小時，因此應規劃在此期間內完成備份與還原，或匯出與匯入作業。