web-dev-qa-db-ja.com

DynamoDBテーブルの名前を変更する方法

DynamoDBテーブルがあり、名前を変更したいと思います。テーブルの名前を変更するコマンドやオプションはないようです。誰かがテーブルの名前を変更したことがありますか?

35
Gowtham

現在、新しいテーブル名が本当に必要な場合は、新しいテーブルを作成し、一方から他方にデータをコピーする必要があります。

30
E.J. Brennan

エクスポート/インポート機能を使用して、データをS3にバックアップできます。次に、古いテーブルを削除し、新しい名前で新しいテーブルを作成します。 S3からデータをインポートします。できたコードを変更する必要はありません。古いテーブルを削除するときにCloudWatchアラームとパイプラインを削除しない場合、それらは自動的に新しいテーブルに接続します。 ARNは同じままです。

もちろんこれの欠点は、テーブルを削除してから再作成するまでの間、テーブルが使用できなくなることです。これは問題の場合もそうでない場合もありますが、それを考慮する必要があります。さらに、テーブルを再作成すると、データのインポートに取り組んでいるときにアクセスできます。インポートが完了するまで、テーブルへのアプリのアクセスを停止することができます。

9
Daniel Phelps

これは古い質問であり、user6500852の回答から雷を盗みたくはないのですが、これにつまずいて答えが必要な人には:

  1. Web UIで名前を変更するテーブルを選択すると、強調表示され、さまざまなタブが右側に表示されます。

  2. [バックアップ]タブをクリックして、ページの下半分(「オンデマンドバックアップと復元」)を見てください。

Backup Area 3.その「バックアップの作成」ボタンを粉砕します。バックアップ名の入力を求められます。好きな名前を付けてください。世界は君のものだ!

  1. バックアップを完了する時間を与えてください。数個のレコードしかない場合、これは数秒になります。大量のレコードがある場合は、数時間かかる場合があります。座屈するか、ただ家に帰って休憩しましょう。

  2. バックアップの準備ができたら、リストでバックアップを強調表示します。 [バックアップの復元]ボタンが点灯します。クリックして。

  3. 新しいテーブル名の入力を求めるプロンプトが表示されます。このテーブルの名前を変更する名前を入力します。注:UIがどのように表示されるかは、ページの下部にある[テーブルの復元]ボタンが点灯するために、静的ページ領域のフィールド外をクリックする必要がある場合があります。 Restore Form

  4. 準備ができたら、「テーブルの復元」ボタンをクリックします。そのページの情報に注意してください。完了するまでに数時間かかることがあります。テストレコードが5つしかないテーブルでは、復元に10分以上かかりました。元のテーブルはグローバルテーブルであるが、復元されたテーブルはグローバルテーブルとして設定されていないためだと考えました(グローバルにするためにテーブルを空にする必要があるため、グローバルテーブルの目的を無効にします)。

最後の注意点に注意してください!グローバルテーブルで作業している場合、復元後にグローバル部分が失われます。バイヤーは注意してください!データパイプラインを介したエクスポートとインポートを検討する必要がある場合があります...

そうでない場合、バックアップと復元は非常に簡単に使用できます(パイプライン、S3ストアなどをセットアップする必要はありません)。少し時間がかかります。

これが誰かを助けることを願っています!

6
KenLFG

オンデマンドのバックアップ/復元機能を使用してこれを実現できるはずです。

テーブルのバックアップの詳細を確認し、新しいテーブルに復元します。

https://www.abhayachauhan.com/2017/12/dynamodb-scheduling-on-demand-backups/

5
Abhaya Chauhan

[バックアップ]タブから最初のバックアップを作成します。復元バックアップの作成中に、新しいテーブル名の要求でプロンプトが表示されます。

そのため、新規/バックアップテーブル名を適用できます。

これが役立つことを願っています。

3
user6500852