前回は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 で確認できます。
最後に
次回はテーブルの更新を行います。
グローバルセカンダリインデックスもテーブルの更新で行います。