keySchema
Specifies the attributes that make up the primary key for a table or an index. The attributes in KeySchema
must also be defined in the AttributeDefinitions
array. For more information, see Data Model in the Amazon DynamoDB Developer Guide.
Each KeySchemaElement
in the array is composed of:
AttributeName
- The name of this key attribute.KeyType
- The role that the key attribute will assume:HASH
- partition keyRANGE
- sort key
The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from the DynamoDB usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.
The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.
For a simple primary key (partition key), you must provide exactly one element with a KeyType
of HASH
.
For a composite primary key (partition key and sort key), you must provide exactly two elements, in this order: The first element must have a KeyType
of HASH
, and the second element must have a KeyType
of RANGE
.
For more information, see Working with Tables in the Amazon DynamoDB Developer Guide.