AWS CLI DynamoDBのレコード操作

この記事を書いたチーム:frontier
AWS CLI DynamoDBのレコード操作

AWS CLI のDynamoDBのレコード操作について、ご紹介します。

登録(put-item)

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

登録のCLIは以下となります。

–table-name : 対象のテーブル名

–item : 登録したいレコードの値を入れる

 

削除(delete-item)

削除のCLIは以下となります。

削除する際は対象のレコードを1件ずつ指定しなければなりません。

–table-name : 対象のテーブル名

–key : 削除したいレコードのパーティションキー

 

ソートキーが設定されているテーブルについては、ソートキーも設定しないとエラーとなります。

パーティションキー → id、ソートキー → itemのテーブルの場合

 

更新(update-item)

更新のCLIは以下となります。

キーを指定し、1レコードの更新を行います。

複数レコード更新する場合は、該当レコード数分コマンドが必要です。

–table-name : 対象のテーブル名

–key : 更新したいレコードのパーティションキー(※ソートキーがある場合は、ソートキーも指定する)

–update-expression : 更新式(SET, REMOVE, ADD, DELETE)

 例の場合はSETのため、項目の更新を行う

 

取得(get-item, query, scan)

取得のCLIには3種類あり、違いがあります。

get-item

パーティションキーとソートキーの指定が必須となります。

(ソートキーが設定されている場合はソートキー必須)
1件の取得となります。

–table-name : 対象のテーブル名

–key : 取得したいレコードの情報

 

query

こちらはパーティションキーのみの指定で取得が可能です。

同じパーティションキーで異なるソートキーの複数レコードを取得可能です。

–table-name : 対象のテーブル名

–key : 取得したいレコードの情報

 

scan

条件式を設定することにより、複数レコードを取得することができます。

上記二つと異なり、検索条件が設定できるため自由度が高いと考えられますが、全体スキャンしているため実行時間が長くなるようです。

莫大なデータを取得する場合は、DynamoDBの読み込みキャパシティなど気にする必要がありそうです。

 例文では、更新日時(UpdateDate)が2023-01-01以降のレコードをすべて取得するコマンドになります。

–table-name : 対象のテーブル名

–filter-expression : 取得条件

また、–select に「COUNT」を設定すると、取得した総件数がわかります。

まとめ

AWS CLIでのDynamoDBの操作は縛りも多い反面、単純で分かりやすいかと思います。

コンソール画面からでは大変なDB操作の作業も、Excelなどで大量のコマンドを作成して流しておくこともできます。

取得のコマンドについては種類があり、調査に時間がかかることもありましたが、うまく有効活用していきたいと思います。

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス