

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

# 與 DynamoDB 整合的最佳實務
<a name="bp-integration"></a>

整合 DynamoDB 與其他服務時，您應該始終遵循使用每個個別服務的最佳實務。不過，您應該考量一些特定於整合的最佳實務。

**Topics**
+ [在 DynamoDB 中建立快照](#bp-integration-snapshot)
+ [在 DynamoDB 中擷取資料變更](#bp-integration-change-data-capture)

## 在 DynamoDB 中建立快照
<a name="bp-integration-snapshot"></a>
+ 一般而言，我們建議使用[匯出至 Amazon S3](S3DataExport.HowItWorks.md) 來建立快照，以進行初始複寫。這種作法既符合成本效益，也不會與應用程式的流量競爭輸送量。您也可以考慮備份與還原至新資料表，然後再進行掃描操作。如此可避免與您的應用程式競爭輸送量，但通常成本效益會比匯出更低。
+ 執行匯出時，請務必設定 `StartTime`。這可讓您輕鬆地判斷要從何處開始變更資料擷取 (CDC)。
+ 使用匯出至 S3 時，請在 S3 儲存貯體上設定生命週期動作。一般而言，將過期動作設定為 7 天是安全的，但您仍應遵循公司可能設立的任何準則。即使您在擷取後明確刪除項目，此動作也有助於發現問題，如此有助於降低不必要的成本並防止違反政策。

## 在 DynamoDB 中擷取資料變更
<a name="bp-integration-change-data-capture"></a>
+ 如果您需要近乎即時的 CDC，請使用 [DynamoDB Streams](streamsmain.md) 或 [Amazon Kinesis Data Streams (KDS)](kds.md)。當您在決定要使用何者時，通常會考慮哪個最容易搭配下游服務使用。如果您需要在分割區索引鍵層級提供依序事件處理，或您有異常大型的項目，請使用 DynamoDB Streams。
+ 如果您不需要近乎即時的 CDC，可以使用[以增量匯出匯出到 Amazon S3](S3DataExport.HowItWorks.md)，僅匯出在兩個時間點之間發生的變更。

  如果您使用匯出到 S3 來產生快照，此功能特別有用，因為您可以使用類似的程式碼來處理增量匯出。匯出到 S3 的成本通常略低於先前的串流選項，但成本通常不是選擇該使用哪個選項的主要因素。
+ 您通常只能同時有兩個 DynamoDB 串流的取用者。在規劃整合策略時，請將這一點納入考量。
+ 請勿使用掃描來偵測變更。這可能適用於小規模作業，但很快就會變得相當不切實際。