tableの件数を知りたい@DynamoDB

表題の通り。DynamoDBをまだまともに触ったことがないので勉強中。

■ 環境

  • DynamoDB
  • awscli 1.15.40
  • macOS High Sierra

■ DynamoDB

tableに毎日100件ずつ新規にデータを投入している。正しく入っているか件数をとりあえず把握したいのだがどうやったら良いのかな?と思ったのがきっかけである。

ManagementConsoleからテーブルを選択し、”概要“や”容量“の項目を確認するも目当ての数値は得られず。項目から全スキャンしてページングで先に進んで行けば最終的に欲しい数値は得られるもののこんなやり方はナンセンスだ。というわけで`aws`コマンドで取得できないか確認。

$ aws dynamodb help

サブコマンドを確認し、とりあえず何かしら情報が得られそうなものをリストアップ。

  • list-tables
  • scan

`list-tables`サブコマンドで何かしらテーブルの詳細を表記するオプションがあるかと思ったが特になし。

`scan`サブコマンドのヘルプを見ると、下記のような記載が。

--select (string)
   The  attributes  to  be returned in the result. You can retrieve all
   item attributes, specific item attributes,  the  count  of  matching
   items,  or  in  the  case of an index, some or all of the attributes
   projected into the index.
  :
  o COUNT - Returns the number of  matching  items,  rather  than  the
    matching items themselves.
  :

求めていたもののような感じがする。早速実行してみる。

$ aws dynamodb scan --table-name example --select COUNT
{
    "Count": 500,
    "ScannedCount": 500,
    "ConsumedCapacity": null
}
$

欲しい情報が得られた。”500“件がまさに想定していたものと同値である。

以上。

■ 関連

tableの件数を知りたい@DynamoDB(2)

DynamoDBで全件取得