Class CreateTableRequest
Creates a table (DynamoDB CreateTable).
public sealed record CreateTableRequest : IEquatable<CreateTableRequest>
- Inheritance
-
CreateTableRequest
- Implements
- Inherited Members
Remarks
Table creation is asynchronous: the response describes the table in the state Creating, and the table
can be used only when DescribeTable reports Active. Poll with a delay of a second or more.
Only the attributes that are key attributes of the table or of an index are defined, in AttributeDefinitions; DynamoDB is schemaless for everything else, and rejects a definition that no key uses.
Without BillingMode the table has provisioned capacity, and ProvisionedThroughput is then required. With PayPerRequest it must not be set.
Constructors
CreateTableRequest()
public CreateTableRequest()
Properties
AttributeDefinitions
Gets the types of the attributes that are keys of the table or of any of its indexes. Each key attribute is defined exactly once, and an attribute that is no key is not defined.
public required IReadOnlyList<AttributeDefinition> AttributeDefinitions { get; init; }
Property Value
BillingMode
Gets how the table is billed. Unspecified (the default) sends nothing, and DynamoDB creates a table with provisioned capacity.
public BillingMode BillingMode { get; init; }
Property Value
DeletionProtectionEnabled
Gets a value indicating whether the table is protected from deletion: DeleteTable then fails until the protection is
switched off. false (the default) sends nothing.
public bool DeletionProtectionEnabled { get; init; }
Property Value
GlobalSecondaryIndexes
Gets the global secondary indexes, at most 20 on creation. null or empty defines none. More can be added to an existing table later, one at a time.
public IReadOnlyList<GlobalSecondaryIndex>? GlobalSecondaryIndexes { get; init; }
Property Value
KeySchema
Gets the primary key: the partition key (Hash), followed by the sort key (Range) if the table has one. It cannot be changed afterwards.
public required IReadOnlyList<KeySchemaElement> KeySchema { get; init; }
Property Value
LocalSecondaryIndexes
Gets the local secondary indexes, at most five. They can only be defined here. null or empty defines none.
public IReadOnlyList<LocalSecondaryIndex>? LocalSecondaryIndexes { get; init; }
Property Value
OnDemandThroughput
Gets the maximum throughput of a table with PayPerRequest capacity. Not allowed with Provisioned capacity, also when the mode is not set. null sets no maximum.
public OnDemandThroughput? OnDemandThroughput { get; init; }
Property Value
ProvisionedThroughput
Gets the capacity of the table. Required with Provisioned (also when the mode is not set), and not allowed with PayPerRequest.
public ProvisionedThroughput? ProvisionedThroughput { get; init; }
Property Value
SSESpecification
Gets the server-side encryption. null uses the default key that DynamoDB owns.
public SSESpecification? SSESpecification { get; init; }
Property Value
StreamSpecification
Gets whether the table has a stream, and what its records contain. null creates a table without a stream.
public StreamSpecification? StreamSpecification { get; init; }
Property Value
TableClass
Gets the storage class. Unspecified (the default) sends nothing, and DynamoDB uses the standard class.
public TableClass TableClass { get; init; }
Property Value
TableName
Gets the table name: 3 to 255 characters of letters, digits, underscore, hyphen and dot, unique per account and region.
public required string TableName { get; init; }
Property Value
Tags
Gets the tags to attach to the table. null or empty attaches none.
public IReadOnlyList<TableTag>? Tags { get; init; }
Property Value
Methods
Equals(CreateTableRequest?)
public bool Equals(CreateTableRequest? other)
Parameters
otherCreateTableRequest
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
objobject
Returns
GetHashCode()
public override int GetHashCode()
Returns
ToString()
public override string ToString()
Returns
Operators
operator ==(CreateTableRequest?, CreateTableRequest?)
public static bool operator ==(CreateTableRequest? left, CreateTableRequest? right)
Parameters
leftCreateTableRequestrightCreateTableRequest
Returns
operator !=(CreateTableRequest?, CreateTableRequest?)
public static bool operator !=(CreateTableRequest? left, CreateTableRequest? right)
Parameters
leftCreateTableRequestrightCreateTableRequest