Class KeySchemaElement

  • All Implemented Interfaces:
    Serializable, SdkPojo, ToCopyableBuilder<KeySchemaElement.Builder,​KeySchemaElement>

    @Generated("software.amazon.awssdk:codegen")
    public final class KeySchemaElement
    extends Object
    implements SdkPojo, Serializable, ToCopyableBuilder<KeySchemaElement.Builder,​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.

    See Also:
    Serialized Form
    • Method Detail

      • attributeName

        public final String attributeName()

        The name of a key attribute.

        Returns:
        The name of a key attribute.
      • keyType

        public final KeyType keyType()

        The role that this key attribute will assume:

        • HASH - partition key

        • RANGE - sort key

        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.

        If the service returns an enum value that is not available in the current SDK version, keyType will return KeyType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from keyTypeAsString().

        Returns:
        The role that this key attribute will assume:

        • HASH - partition key

        • RANGE - sort key

        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.

        See Also:
        KeyType
      • keyTypeAsString

        public final String keyTypeAsString()

        The role that this key attribute will assume:

        • HASH - partition key

        • RANGE - sort key

        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.

        If the service returns an enum value that is not available in the current SDK version, keyType will return KeyType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from keyTypeAsString().

        Returns:
        The role that this key attribute will assume:

        • HASH - partition key

        • RANGE - sort key

        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.

        See Also:
        KeyType
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • toString

        public final String toString()
        Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
        Overrides:
        toString in class Object
      • getValueForField

        public final <T> Optional<T> getValueForField​(String fieldName,
                                                      Class<T> clazz)