class Aws::DynamoDB::Types::KeySchemaElement

Represents *a single element* of a key schema. A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.

A `KeySchemaElement` represents exactly one attribute of the primary key. For example, a simple primary key would be represented by one `KeySchemaElement` (for the partition key). A composite primary key would require one `KeySchemaElement` for the partition key, and another `KeySchemaElement` for the sort key.

A `KeySchemaElement` must be a scalar, top-level attribute (not a nested attribute). The data type must be one of String, Number, or Binary. The attribute cannot be nested within a List or a Map.

@note When making an API call, you may pass KeySchemaElement

data as a hash:

    {
      attribute_name: "KeySchemaAttributeName", # required
      key_type: "HASH", # required, accepts HASH, RANGE
    }

@!attribute [rw] attribute_name

The name of a key attribute.
@return [String]

@!attribute [rw] key_type

The role that this key attribute will assume:

* `HASH` - partition key

* `RANGE` - sort key

<note markdown="1"> The partition key of an item is also known as its *hash attribute*.
The term "hash attribute" derives from DynamoDB's 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.

 </note>
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/KeySchemaElement AWS API Documentation

Constants

SENSITIVE