在 .NET 或 Java 中使用自定義實現與AWS軟件開發套件 - AWS 規範指南

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

在 .NET 或 Java 中使用自定義實現與AWS軟件開發套件

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

您可以建立可呼叫以執行完整資料表複製的主控台應用程式 (或新的 API 端點,如果您使用 Web API)。自訂解決方案會執行下列步驟:

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

  2. 在目標帳戶中建立 DynamoDB 表 (具有隨需容量) 和索引。或者,您可以使用佈建的容量模式,並根據需要設定 RCU 和 WCU。

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

自訂實作使用安全權杖存取 IAM 政策,以提供對來源和目標帳戶的存取權。

此解決方案最適合小型 (小於 500 MB) 的 DynamoDB 表格。

對於包含 200 K 個項目的 DynamoDB 表格 (平均項目大小為 30 KB,表格大小為 250 MB),此解決方案包括表格建立和資料填入在內,大約需要 5 分鐘:

  • 容量模式 — 已佈建,具有 4000 個 RCU 和 4000 個 WCU

  • 消耗的容量單位 — 30 K RCU 和約 400 K WCU

優點

  • 該解決方案不依賴 DynamoDB 以外的任何AWS服務,因此維護開銷較少。

  • 該解決方案可以通過使用AWS Lambda函數運行它進行無服務器。但是,執行階段必須在 15 分鐘以內。

缺點

  • 此解決方案會消耗更多的 RCU 和 WCU。

  • 對於大型資料集而言,這可能不是一個很好的解決方案,因為該解決方案需要使用兩個不同帳戶中的兩個不同 DynamoDB 表的作用中連線 (使用兩個不同的安全性權杖)。如果大型資料集的資料表副本需要很長時間,可能會發生連線中斷或安全性權杖到期,因此您必須實作邏輯來處理這些可能性。您還必須實現邏輯以繼續從失敗的地方複製。

如需詳細資訊,請參閱使用自訂實作模式跨帳戶複製 Amazon DynamoDB 表格