

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS SDKs
<a name="cust-imp"></a>

クロスアカウントテーブルコピーを実行するために他の AWS のサービスに依存する代わりに、.NET、Java、Python、またはサポートされている別のプログラミング言語を使用してカスタムソリューションを構築できます。 は、複数の言語で AWS サービスまたは APIs へのプログラムによるアクセスを許可する SDKs AWS を提供します。このソリューションには、使用する言語での実践的な開発経験が必要です。

コンソールアプリ (ウェブ API で作業している場合は新しい API エンドポイント) を作成して、フルテーブルコピーを実行できます。カスタムソリューションでは、次のステップを実行する必要があります。

****

1. ターゲットアカウントの DynamoDB テーブルを削除します。

1. ターゲットアカウントに DynamoDB テーブル (オンデマンド容量を使用) とインデックスを作成します。または、プロビジョンドキャパシティモードを使用し、必要に応じて RCUsと WCUsを設定することもできます。

1.  AWS SDK の DynamoDB バッチ書き込みオペレーションを使用して、ソースアカウントからターゲットアカウントにデータをコピーし、DynamoDB へのサービス呼び出しの数を減らします。

![\[カスタム実装では、セキュリティトークンを使用して、ソースアカウントとターゲットアカウントへのアクセスを提供する IAM ポリシーにアクセスします。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/dynamodb-full-table-copy-options/images/dynamodb_cross-account_table-copy_cust-implementation.png)


このソリューションは、サイズが小さい (500 MB 未満の) DynamoDB テーブルに最適です。

200 K 項目 (平均項目サイズ 30 KB、テーブルサイズ 250 MB) の DynamoDB テーブルの場合、テーブルの作成とデータ母集団を含むこのソリューションには約 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。
+ このソリューションは、2 つの異なるアカウント (2 つの異なるセキュリティトークンを使用) の 2 つの異なる DynamoDB テーブルとのアクティブな接続を必要とするため、大規模なデータセットには適さない場合があります。大規模なデータセットのテーブルコピーに時間がかかる場合は、接続の中断やセキュリティトークンの有効期限切れが発生する可能性があるため、これらの可能性を処理するロジックを実装する必要があります。また、失敗した場所からコピーを続行するロジックを実装する必要があります。

詳細については、[「カスタム実装パターンを使用してアカウント間で Amazon DynamoDB テーブルをコピーする](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/copy-amazon-dynamodb-tables-across-accounts-using-a-custom-implementation.html)」を参照してください。