はじめに
アプリケーションサービス部の宮本です。今更ながら Nature Remo をリビングに導入しました。オートメーション機能で、夜8時になったらリビングの照明を暖かい色にすることで子供の入眠がスムーズになるようにしています。便利ですね。
さて、今回は AWS CLI で Amazon DynamoDB テーブルのアイテム件数を取得してみましたのでご紹介します。
# バージョン確認 $ aws --version aws-cli/2.2.31 Python/3.9.6 Darwin/19.6.0 source/x86_64 prompt/off
結論 --select COUNT オプションを使う
結論からですが、以下のコマンドで取得が可能です。オプション --table-name
は実際のテーブル名に置き換えてください。
$ aws dynamodb scan --table-name TEST_TABLE --select COUNT --return-consumed-capacity TOTAL { "Count": 99999, "ScannedCount": 99999, "ConsumedCapacity": { "TableName": "TEST_TABLE", "CapacityUnits": 128.5 } }
出力結果の Count
がアイテム件数です。
注意点としては対象テーブルのアイテムを全件・全項目 Scan するのと同じ RCU を消費することです。マネジメントコンソールでも同様の操作が出来るのですが、以下のような警告が出ます。
正確な件数ではなく、概算の件数で良い場合は、6時間毎にマネジメントコンソールの値が更新されますのでそちらを確認すれば良いでしょう。
CLI でも概算値は確認できます。
$ aws dynamodb describe-table --table-name TEST_TABLE { "Table": { # その他項目は省略 "ItemCount": 0 } }