【小ネタ】AWS CLI で Amazon DynamoDB テーブルのアイテム件数を取得する

記事タイトルとURLをコピーする

はじめに

アプリケーションサービス部の宮本です。今更ながら 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 を消費することです。マネジメントコンソールでも同様の操作が出来るのですが、以下のような警告が出ます。

f:id:swx-miyamoto:20210924183946p:plain
コンソールの注意文言

正確な件数ではなく、概算の件数で良い場合は、6時間毎にマネジメントコンソールの値が更新されますのでそちらを確認すれば良いでしょう。

f:id:swx-miyamoto:20210924193232p:plain
マネジメントコンソールで件数確認

CLI でも概算値は確認できます。

$ aws dynamodb describe-table --table-name TEST_TABLE
{
    "Table": {
        # その他項目は省略
        "ItemCount": 0
    }
}

参考