AWS

【DynamoDB】AWS Lambda を使用した DynamoDB テーブル構成の確認

前回はDynamoDBのテーブルを作成しました。

今回は作成したテーブルの構成を確認します。

テーブル構成の確認

テーブル構成の確認には describeTable を使用します。

内容

const DynamoDbSetter = require("./DynamoDbSetter");
 
module.exports = class DynamoDbOperator extends DynamoDbSetter{
 
    async exec(event) {
 
        // 実行内容
        let params = {
            TableName : "Musics",
        };
    
        // 実行
        return await this.dynamodb.describeTable(params).promise();
 
    }
}

実行結果

{
    "TableDescription": {
        "AttributeDefinitions": [
            {
                "AttributeName": "id",
                "AttributeType": "N"
            },
            {
                "AttributeName": "kind",
                "AttributeType": "N"
            },
            {
                "AttributeName": "name",
                "AttributeType": "S"
            }
        ],
        "TableName": "weapon",
        "KeySchema": [
            {
                "AttributeName": "name",
                "KeyType": "HASH"
            },
            {
                "AttributeName": "id",
                "KeyType": "RANGE"
            }
        ],
        "TableStatus": "CREATING",
        "CreationDateTime": "2021-10-20T10:43:13.259Z",
        "ProvisionedThroughput": {
            "NumberOfDecreasesToday": 0,
            "ReadCapacityUnits": 10,
            "WriteCapacityUnits": 10
        },
        "TableSizeBytes": 0,
        "ItemCount": 0,
        "TableArn": "arn:aws:dynamodb:ap-northeast-1:081461195071:table/weapon",
        "TableId": "21b7ecf4-f2fc-422e-a06c-2f38db3d6b2a",
        "LocalSecondaryIndexes": [
            {
                "IndexName": "weapon_kind_LSI",
                "KeySchema": [
                    {
                        "AttributeName": "name",
                        "KeyType": "HASH"
                    },
                    {
                        "AttributeName": "kind",
                        "KeyType": "RANGE"
                    }
                ],
                "Projection": {
                    "ProjectionType": "ALL"
                },
                "IndexSizeBytes": 0,
                "ItemCount": 0,
                "IndexArn": "arn:aws:dynamodb:ap-northeast-1:081461195071:table/weapon/index/weapon_kind_LSI"
            }
        ]
    }
}

前回作成したローカルセカンダリインデックの内容も確認できます。
なお、今回はグローバルセカンダリインデックを作成していませんが、グローバルセカンダリインデックスの情報も describeTable で確認できます。

最後に

次回はテーブルの更新を行います。
グローバルセカンダリインデックスもテーブルの更新で行います。

© DeNnie.Lab All Rights Reserved.