Unfortunately DynamoDB does not provide out of the box capability to define a strict schema. You must impose schema validation on the client side, ensuring users add the desired fields for every mutation.
As you mention, DynamoDB is a NoSQL schemaless database, which means you must only define the keys up-front. Your application code would be responsible for ensuring all the items follow a strict schema, and can do so by setting empty values for those attributes.
Yes, you can have null values for attributes with some qualifications around indexes. See: Amazon DynamoDB now supports empty values for non-key String and Binary attributes in DynamoDB tables.
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 5 months ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated 7 months ago
- EXPERTpublished 5 months ago
- EXPERTpublished 8 months ago