

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

# 從 Amazon S3 匯入 DynamoDB 資料：運作方式
<a name="S3DataImport.HowItWorks"></a>

若要將資料匯入 DynamoDB，您的資料必須位於 Amazon S3 儲存貯體中，且為 CSV、DynamoDB JSON 或 Amazon Ion 格式。資料可壓縮為 ZSTD 或 GZIP 格式，也可以直接匯入為未壓縮格式。來源資料可以是單一 Amazon S3 物件，或使用相同字首的多個 Amazon S3 物件。

您的資料將匯入到新的 DynamoDB 資料表中，該資料表將在您發起匯入請求時建立。您可以使用次要索引建立此資料表，然後在匯入完成後立即查詢並更新所有主要索引和次要索引的資料。您也可以在匯入完成後新增全域資料表複本。

**注意**  
在 Amazon S3 匯入流程期間，DynamoDB 會建立一個新的目標資料表，並將其匯入。此功能目前不支援匯入至現有資料表。

從 Amazon S3 匯入不會耗用新資料表的寫入容量，因此您不需要佈建任何額外容量即可將資料匯入 DynamoDB。資料匯入定價取決於 Amazon S3 中來源資料的未壓縮大小，該資料會在匯入時進行處理。由於格式化或來源資料的不一致，導致無法載入資料表中的項目，也會在匯入流程中計費。如需詳細資訊，請參閱 [Amazon DynamoDB 定價](https://aws.amazon.com/dynamodb/pricing)。

您可以從不同帳戶所擁有的 Amazon S3 儲存貯體匯入資料，前提是您有讀取該儲存貯體的正確許可。新資料表也可能位於與來源 Amazon S3 儲存貯體不同的區域。如需詳細資訊，請參閱 [Amazon Simple Storage Service 設定和許可](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access.html)。

匯入時間與 Amazon S3 中的資料特性直接相關。這包括資料大小、資料格式、壓縮方法、資料分佈的一致性、Amazon S3 物件數量以及其他相關變數。具體而言，索引鍵均勻分佈的資料集，匯入速度會比偏斜的資料集更快。例如，若您的次要索引鍵是以月份分割，而您的資料全部來自十二月，那麼匯入資料就會需要更久時間。

與索引鍵相關聯的屬性在基礎資料表中應為唯一。如有任何索引鍵並非唯一，則匯入程序會覆寫相關聯的項目，直到僅留下最後一次覆寫。例如，若主索引鍵是月份，而有多個項目設定為 9 月份，則每個新項目都會覆寫先前寫入的項目，並僅保留一個「月份」主索引鍵設定為 9 月的項目。此情況下，匯入資料表描述中處理的物件數，與目標資料表中的物件數量不相符。

AWS CloudTrail 會記錄資料表匯入的所有主控台和 API 動作。如需詳細資訊，請參閱[使用 記錄 DynamoDB 操作 AWS CloudTrail](logging-using-cloudtrail.md)。

以下影片介紹如何直接從 Amazon S3 匯入到 DynamoDB。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/fqq0CMOnOaI/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/fqq0CMOnOaI)


**Topics**
+ [請求在 DynamoDB 中匯入資料表](S3DataImport.Requesting.md)
+ [DynamoDB 的 Amazon S3 匯入格式](S3DataImport.Format.md)
+ [匯入格式配額與驗證](S3DataImport.Validation.md)
+ [將 Amazon S3 匯入到 DynamoDB 的最佳實務](S3DataImport.BestPractices.md)