DynamoDB Table Schema Design Tool
DynamoDB JSON that is used to create DynamoDB table requires you to understand its complicated format. This tool solve this problem by helping you design the table definition visually. The resulting DynamoDB JSON output can be then used to create DynamoDB table via DynamoDB CLI, SDK, CloudFormation, Serverless Framework etc.
Composite - key that is composed of two attributes. The first attribute is the partition key, and the second attribute is the sort key
Frequently Asked Questions
What are the ways to create DynamoDB table in AWS?
Most popular ways include AWS Console, AWS SDKs, AWS CLI, CloudFormation, Terraform, Serverless Framework, AWS SAM (Serverless Application Model) and of course Dynobase. The tool on this page is also available inside Dynobase.
What should I do with this JSON?
When using SDK or CLI, you need to use it as the table definition parameter when calling CreateTable operation. When using CloudFormation, SAM or Serverless Framework, paste this into your 'infrastructure-as-code' DynamoDB::Table.Properties value
Are DynamoDB table names unique?
Yes. They need to be unique per account per region.
What are DynamoDB table/attribute/GSI naming conventions?
There aren't any conventions around the naming of tables, attributes, or GSIs. It is worth mentioning that table names are UTF-8 encoded, case-sensitive, and should be between 3 and 255 characters long. They can also include special characters like - (dash), _ (underscore), and . (dot).
Are DynamoDB tables schemaless?
Yes. When creating a table in DynamoDB, you don't have to define any other attributes besides ones that are used by primary key and global secondary keys.
Are DynamoDB tables encrypted at REST?
Yes. All user data stored using DynamoDB is encrypted. By default, AWS owned CMK (customer master key) is used to achieve that at no additional charge. Alternatively, you can choose 'AWS managed CMK' and 'Customer managed CMK' where additional charges apply, but you have control over the keys.
Can you change the table name in DynamoDB?
No, it's not possible. You can change table GSIs, capacity modes, and backup settings, but it's impossible to change table name or primary index after it's created. The only option here is to create a new table with other name and copy data from one table to another.
How do I see table data?
After you've entered some data to the table, it is likely that you'll need to debug it. You can inspect table contents using AWS Console or Dynobase.
© 2020 Dynobase