本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用匯出至 S3 並從 S3 匯入的方式移轉資料表
先決條件
-
您必須為資料表啟用時間點復原 (PITR),才能執行匯出至 S3。如需詳細資訊,請參閱DynamoDB 的時間點復原。
-
具有執行匯出所需的有效 IAM 權限。如需詳細資訊,請參閱請求在 DynamoDB 中匯出資料表。
-
具有足以執行匯入的有效 IAM 權限。如需詳細資訊,請參閱請求在 DynamoDB 中匯入資料表。
定價資訊
AWS PITR 的費用 (根據資料表的大小和啟用 PITR 的時間長度)。若僅為匯出啟用 PITR,可在匯出完成後關閉。 AWS 也會針對 S3 請求、匯出資料儲存與匯入作業 (依未壓縮資料大小) 收費。
如需 DynamoDB 定價詳細資訊,請參閱 DynamoDB 定價
注意
從 S3 匯入至 DynamoDB 時,物件大小與數量皆有限制。如需詳細資訊,請參閱匯入配額。
請求將資料表匯出至 Amazon S3
-
登入 AWS 管理主控台並開啟 DynamoDB 主控台。
-
在主控台左側的導覽窗格中,選擇 Exports to S3 (匯出至 S3)。
-
選擇來源資料表和目的地 S3 儲存貯體。使用
s3://bucketname/prefix格式輸入目標帳戶的儲存貯體 URL。/prefix是可協助整理目的地儲存貯體的選用資料夾。 -
選取完整匯出。完整匯出會在您指定的時間點輸出資料表的完整快照。
-
選取目前時間以匯出最新的完整資料表快照。
-
對於匯出的檔案格式,選擇 DynamoDB JSON 和 Amazon Ion 兩者之一。預設為 DynamoDB JSON。
-
-
按一下 Export (匯出) 按鈕開始匯出。
-
小型資料表匯出通常在數分鐘內完成,但 TB 級資料表可能需超過一小時。
從 Amazon S3 請求匯入資料表
-
登入 AWS 管理主控台並開啟 DynamoDB 主控台。
-
在主控台左側的導覽窗格中,選擇 Import from S3 (從 S3 匯入)。
-
在出現的頁面上,選取 Import from S3 (從 S3 匯入)。
-
輸入 Amazon S3 來源 URL。您也可以使用瀏覽 S3 按鈕找到它。預期的路徑格式為
s3://bucket/prefix/AWSDynamoDB/<XXXXXXXX-XXXXXX>/data/。 -
指定您是否為 S3 bucket owner (S3 儲存貯體擁有者)。
-
在匯入檔案壓縮中,選取 GZIP 以符合匯出。
-
在匯入檔案格式中,選取 DynamoDB JSON 以符合匯出。
-
選取下一步。在指定資料表詳細資訊中,選取要建立的新資料表選項以儲存您的資料。
-
選取下一步。在設定資料表設定中,如有需要可自訂其他設定。
-
選擇 Next (下一步) 以再次檢視您的匯入選項,然後按一下 Import (匯入),以啟動匯入任務。您會在從 S3 匯入下看到新資料表,其狀態為匯入中。此期間無法存取資料表。小型匯入通常在數分鐘內完成,但 TB 級資料表可能需超過一小時。
-
匯入完成後,狀態將顯示為啟用,即可開始使用資料表。
在移轉期間保持資料表同步
若能在移轉期間暫停來源資料表的寫入操作,來源與輸出將在移轉後完全一致。若無法暫停寫入操作,移轉後目標資料表通常會落後來源。若要使來源資料表同步,可使用串流 (DynamoDB Streams 或適用於 DynamoDB 的 Kinesis Data Streams) 重播自備份或匯出以來的寫入。
應在將來源資料表匯出至 S3 的時間戳記之前開始讀取串流記錄。例如,若匯出至 S3 發生於下午 2:00,而目標資料表匯入於下午 11:00 完成,應在下午 1:58 啟動 DynamoDB 串流讀取。「變更資料擷取」的串流選項表摘要說明各串流模型的功能。
使用 DynamoDB Streams 搭配 Lambda,可提供精簡的資料同步方法,讓來源與目標 DynamoDB 資料表保持一致。可使用 Lambda 函式重播目標資料表中的每筆寫入。
注意
項目會在 DynamoDB Streams 中保留 24 小時,因此應規劃在此期間內完成備份與還原,或匯出與匯入作業。