

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

# 在 .NET 或 Java AWS SDKs中使用自訂實作
<a name="cust-imp"></a>

您不必依賴其他 AWS 服務來執行跨帳戶資料表複製，而是可以使用 .NET、Java、Python 或其他支援的程式設計語言建置自訂解決方案。 AWS 提供 SDKs，以多種語言允許程式設計方式存取 AWS 服務或 APIs。此解決方案需要您使用的語言的實作開發體驗。

您可以建立主控台應用程式 （或新的 API 端點，如果您在 Web API 上工作），可以叫用它來執行完整的資料表複製。自訂解決方案應執行下列步驟：

****

1. 刪除目標帳戶中的 DynamoDB 資料表。

1. 在目標帳戶中建立 DynamoDB 資料表 （具有隨需容量） 和索引。或者，您可以使用佈建容量模式，並根據您的需求設定 RCUs WCUs。

1. 使用 AWS SDK 中的 DynamoDB 批次寫入操作，將資料從來源帳戶複製到目標帳戶，以減少對 DynamoDB 的服務呼叫次數。

![\[自訂實作使用安全權杖來存取 IAM 政策，以提供來源和目標帳戶的存取權。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/dynamodb-full-table-copy-options/images/dynamodb_cross-account_table-copy_cust-implementation.png)


此解決方案最適合大小小 （小於 500 MB) 的 DynamoDB 資料表。

對於具有 200 K 項目的 DynamoDB 資料表 （平均項目大小 30 KB 和資料表大小 250 MB)，此解決方案包括資料表建立和資料人口，大約需要 5 分鐘：
+ 容量模式 – 佈建，具有 4000 RCUs 和 4000 WCUs
+ 消耗的容量單位 – 30 K RCUs和大約 400 K WCUs

## 優點
<a name="adv-cust-imp"></a>
+ 解決方案不依賴 DynamoDB 以外的任何 AWS 服務，因此維護開銷較低。
+ 您可以使用 AWS Lambda 函數執行解決方案，使其無伺服器。不過，執行時間必須少於 15 分鐘。

## 缺點
<a name="dis-cust-imp"></a>
+ 解決方案會耗用更多 RCUs和 WCUs。
+ 它可能不是大型資料集的良好解決方案，因為解決方案需要與兩個不同帳戶中的兩個不同 DynamoDB 資料表 （使用兩個不同的安全字符） 進行主動連線。如果大型資料集的資料表複製需要很長的時間，則可能會發生連線中斷或安全字符過期，因此您必須實作邏輯來處理這些可能性。您也必須實作邏輯，才能從失敗的地方繼續複製。

如需詳細資訊，請參閱[使用自訂實作模式跨帳戶複製 Amazon DynamoDB 資料表](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/copy-amazon-dynamodb-tables-across-accounts-using-a-custom-implementation.html)。