Struct aws_sdk_dynamodb::types::KeySchemaElement
source · #[non_exhaustive]pub struct KeySchemaElement {
pub attribute_name: String,
pub key_type: KeyType,
}
Expand description
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.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.attribute_name: String
The name of a key attribute.
key_type: 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.
Implementations§
source§impl KeySchemaElement
impl KeySchemaElement
sourcepub fn attribute_name(&self) -> &str
pub fn attribute_name(&self) -> &str
The name of a key attribute.
sourcepub fn key_type(&self) -> &KeyType
pub fn key_type(&self) -> &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.
source§impl KeySchemaElement
impl KeySchemaElement
sourcepub fn builder() -> KeySchemaElementBuilder
pub fn builder() -> KeySchemaElementBuilder
Creates a new builder-style object to manufacture KeySchemaElement
.
Trait Implementations§
source§impl Clone for KeySchemaElement
impl Clone for KeySchemaElement
source§fn clone(&self) -> KeySchemaElement
fn clone(&self) -> KeySchemaElement
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for KeySchemaElement
impl Debug for KeySchemaElement
source§impl PartialEq for KeySchemaElement
impl PartialEq for KeySchemaElement
source§fn eq(&self, other: &KeySchemaElement) -> bool
fn eq(&self, other: &KeySchemaElement) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for KeySchemaElement
Auto Trait Implementations§
impl Freeze for KeySchemaElement
impl RefUnwindSafe for KeySchemaElement
impl Send for KeySchemaElement
impl Sync for KeySchemaElement
impl Unpin for KeySchemaElement
impl UnwindSafe for KeySchemaElement
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more