The CreateTable operation adds a new table to your account. In
an AWS account, table names must be unique within each region. That
is, you can have two tables with same name if you create the tables in
different regions.

CreateTable is an asynchronous operation. Upon receiving a
CreateTable request, DynamoDB immediately returns a response
with a TableStatus of CREATING . After the table
is created, DynamoDB sets the TableStatus to
ACTIVE . You can perform read and write operations only
on an ACTIVE table.

You can optionally define secondary indexes on the new table, as part
of the CreateTable operation. If you want to create multiple
tables with secondary indexes on them, you must create the tables
sequentially. Only one table with secondary indexes can be in the
CREATING state at any given time.

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 - Determines whether the key attribute is
HASH or RANGE.

For a primary
key that consists of a hash attribute, you must provide exactly one
element with a KeyType of HASH.

For a primary
key that consists of hash and range attributes, 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
Specifying
the Primary Key in the Amazon DynamoDB Developer Guide.

One or more local secondary indexes (the maximum is five) to be
created on the table. Each index is scoped to a given hash key value.
There is a 10 GB size limit per hash key; otherwise, the size of a
local secondary index is unconstrained.

Each local secondary index
in the array includes the following:

IndexName -
The name of the local secondary index. Must be unique only for this
table.

KeySchema - Specifies the key schema
for the local secondary index. The key schema must begin with the same
hash key attribute as the table.

Projection -
Specifies attributes that are copied (projected) from the table into
the index. These are in addition to the primary key attributes and
index key attributes, which are automatically projected. Each
attribute specification is composed of:

ProjectionType - One of the following:

KEYS_ONLY - Only the index and primary keys are
projected into the index.

INCLUDE - Only
the specified table attributes are projected into the index. The list
of projected attributes are in NonKeyAttributes.

ALL - All of the table attributes are projected into
the index.

NonKeyAttributes - A list
of one or more non-key attribute names that are projected into the
secondary index. The total count of attributes provided in
NonKeyAttributes, summed across all of the secondary indexes,
must not exceed 20. If you project the same attribute into two
different indexes, this counts as two distinct attributes when
determining the total.

One or more global secondary indexes (the maximum is five) to be
created on the table. Each global secondary index in the array
includes the following:

IndexName - The name of
the global secondary index. Must be unique only for this table.

KeySchema - Specifies the key schema for the
global secondary index.

Projection - Specifies
attributes that are copied (projected) from the table into the index.
These are in addition to the primary key attributes and index key
attributes, which are automatically projected. Each attribute
specification is composed of:

ProjectionType - One
of the following:

KEYS_ONLY - Only the index
and primary keys are projected into the index.

INCLUDE - Only the specified table attributes are
projected into the index. The list of projected attributes are in
NonKeyAttributes.

ALL - All of the
table attributes are projected into the index.

NonKeyAttributes - A list of one or more non-key attribute
names that are projected into the secondary index. The total count of
attributes provided in NonKeyAttributes, summed across all of
the secondary indexes, must not exceed 20. If you project the same
attribute into two different indexes, this counts as two distinct
attributes when determining the total.

Constructs a new CreateTableRequest object.
Callers should use the setter or fluent setter (with...) methods to
initialize any additional object members.

Parameters:

tableName The name of the table to create.

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 - Determines whether the key attribute is
HASH or RANGE.

For a primary
key that consists of a hash attribute, you must provide exactly one
element with a KeyType of HASH.

For a primary
key that consists of hash and range attributes, 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
Specifying
the Primary Key in the Amazon DynamoDB Developer Guide.

Constructs a new CreateTableRequest object.
Callers should use the setter or fluent setter (with...) methods to
initialize any additional object members.

Parameters:

attributeDefinitions An array of attributes that describe the
key schema for the table and indexes.

tableName The name of the table to create.

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 - Determines whether the key attribute is
HASH or RANGE.

For a primary
key that consists of a hash attribute, you must provide exactly one
element with a KeyType of HASH.

For a primary
key that consists of hash and range attributes, 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
Specifying
the Primary Key in the Amazon DynamoDB Developer Guide.

provisionedThroughput Represents the provisioned throughput
settings for a specified table or index. The settings can be modified
using the UpdateTable operation.

For current minimum and
maximum provisioned throughput values, see Limits
in the Amazon DynamoDB Developer Guide.

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 - Determines whether the key attribute is
HASH or RANGE.

For a primary
key that consists of a hash attribute, you must provide exactly one
element with a KeyType of HASH.

For a primary
key that consists of hash and range attributes, 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
Specifying
the Primary Key in the Amazon DynamoDB Developer Guide.

Constraints:Length: 1 - 2

Returns:

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 - Determines whether the key attribute is
HASH or RANGE.

For a primary
key that consists of a hash attribute, you must provide exactly one
element with a KeyType of HASH.

For a primary
key that consists of hash and range attributes, 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
Specifying
the Primary Key in the Amazon DynamoDB Developer Guide.

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 - Determines whether the key attribute is
HASH or RANGE.

For a primary
key that consists of a hash attribute, you must provide exactly one
element with a KeyType of HASH.

For a primary
key that consists of hash and range attributes, 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
Specifying
the Primary Key in the Amazon DynamoDB Developer Guide.

Constraints:Length: 1 - 2

Parameters:

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 - Determines whether the key attribute is
HASH or RANGE.

For a primary
key that consists of a hash attribute, you must provide exactly one
element with a KeyType of HASH.

For a primary
key that consists of hash and range attributes, 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
Specifying
the Primary Key in the Amazon DynamoDB Developer Guide.

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 - Determines whether the key attribute is
HASH or RANGE.

For a primary
key that consists of a hash attribute, you must provide exactly one
element with a KeyType of HASH.

For a primary
key that consists of hash and range attributes, 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
Specifying
the Primary Key in the Amazon DynamoDB Developer Guide.

Returns a reference to this object so that method calls can be chained together.

Constraints:Length: 1 - 2

Parameters:

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 - Determines whether the key attribute is
HASH or RANGE.

For a primary
key that consists of a hash attribute, you must provide exactly one
element with a KeyType of HASH.

For a primary
key that consists of hash and range attributes, 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
Specifying
the Primary Key in the Amazon DynamoDB Developer Guide.

Returns:

A reference to this updated object so that method calls can be chained
together.

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 - Determines whether the key attribute is
HASH or RANGE.

For a primary
key that consists of a hash attribute, you must provide exactly one
element with a KeyType of HASH.

For a primary
key that consists of hash and range attributes, 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
Specifying
the Primary Key in the Amazon DynamoDB Developer Guide.

Returns a reference to this object so that method calls can be chained together.

Constraints:Length: 1 - 2

Parameters:

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 - Determines whether the key attribute is
HASH or RANGE.

For a primary
key that consists of a hash attribute, you must provide exactly one
element with a KeyType of HASH.

For a primary
key that consists of hash and range attributes, 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
Specifying
the Primary Key in the Amazon DynamoDB Developer Guide.

Returns:

A reference to this updated object so that method calls can be chained
together.

One or more local secondary indexes (the maximum is five) to be
created on the table. Each index is scoped to a given hash key value.
There is a 10 GB size limit per hash key; otherwise, the size of a
local secondary index is unconstrained.

Each local secondary index
in the array includes the following:

IndexName -
The name of the local secondary index. Must be unique only for this
table.

KeySchema - Specifies the key schema
for the local secondary index. The key schema must begin with the same
hash key attribute as the table.

Projection -
Specifies attributes that are copied (projected) from the table into
the index. These are in addition to the primary key attributes and
index key attributes, which are automatically projected. Each
attribute specification is composed of:

ProjectionType - One of the following:

KEYS_ONLY - Only the index and primary keys are
projected into the index.

INCLUDE - Only
the specified table attributes are projected into the index. The list
of projected attributes are in NonKeyAttributes.

ALL - All of the table attributes are projected into
the index.

NonKeyAttributes - A list
of one or more non-key attribute names that are projected into the
secondary index. The total count of attributes provided in
NonKeyAttributes, summed across all of the secondary indexes,
must not exceed 20. If you project the same attribute into two
different indexes, this counts as two distinct attributes when
determining the total.

Returns:

One or more local secondary indexes (the maximum is five) to be
created on the table. Each index is scoped to a given hash key value.
There is a 10 GB size limit per hash key; otherwise, the size of a
local secondary index is unconstrained.

Each local secondary index
in the array includes the following:

IndexName -
The name of the local secondary index. Must be unique only for this
table.

KeySchema - Specifies the key schema
for the local secondary index. The key schema must begin with the same
hash key attribute as the table.

Projection -
Specifies attributes that are copied (projected) from the table into
the index. These are in addition to the primary key attributes and
index key attributes, which are automatically projected. Each
attribute specification is composed of:

ProjectionType - One of the following:

KEYS_ONLY - Only the index and primary keys are
projected into the index.

INCLUDE - Only
the specified table attributes are projected into the index. The list
of projected attributes are in NonKeyAttributes.

ALL - All of the table attributes are projected into
the index.

NonKeyAttributes - A list
of one or more non-key attribute names that are projected into the
secondary index. The total count of attributes provided in
NonKeyAttributes, summed across all of the secondary indexes,
must not exceed 20. If you project the same attribute into two
different indexes, this counts as two distinct attributes when
determining the total.

One or more local secondary indexes (the maximum is five) to be
created on the table. Each index is scoped to a given hash key value.
There is a 10 GB size limit per hash key; otherwise, the size of a
local secondary index is unconstrained.

Each local secondary index
in the array includes the following:

IndexName -
The name of the local secondary index. Must be unique only for this
table.

KeySchema - Specifies the key schema
for the local secondary index. The key schema must begin with the same
hash key attribute as the table.

Projection -
Specifies attributes that are copied (projected) from the table into
the index. These are in addition to the primary key attributes and
index key attributes, which are automatically projected. Each
attribute specification is composed of:

ProjectionType - One of the following:

KEYS_ONLY - Only the index and primary keys are
projected into the index.

INCLUDE - Only
the specified table attributes are projected into the index. The list
of projected attributes are in NonKeyAttributes.

ALL - All of the table attributes are projected into
the index.

NonKeyAttributes - A list
of one or more non-key attribute names that are projected into the
secondary index. The total count of attributes provided in
NonKeyAttributes, summed across all of the secondary indexes,
must not exceed 20. If you project the same attribute into two
different indexes, this counts as two distinct attributes when
determining the total.

Parameters:

localSecondaryIndexes One or more local secondary indexes (the maximum is five) to be
created on the table. Each index is scoped to a given hash key value.
There is a 10 GB size limit per hash key; otherwise, the size of a
local secondary index is unconstrained.

Each local secondary index
in the array includes the following:

IndexName -
The name of the local secondary index. Must be unique only for this
table.

KeySchema - Specifies the key schema
for the local secondary index. The key schema must begin with the same
hash key attribute as the table.

Projection -
Specifies attributes that are copied (projected) from the table into
the index. These are in addition to the primary key attributes and
index key attributes, which are automatically projected. Each
attribute specification is composed of:

ProjectionType - One of the following:

KEYS_ONLY - Only the index and primary keys are
projected into the index.

INCLUDE - Only
the specified table attributes are projected into the index. The list
of projected attributes are in NonKeyAttributes.

ALL - All of the table attributes are projected into
the index.

NonKeyAttributes - A list
of one or more non-key attribute names that are projected into the
secondary index. The total count of attributes provided in
NonKeyAttributes, summed across all of the secondary indexes,
must not exceed 20. If you project the same attribute into two
different indexes, this counts as two distinct attributes when
determining the total.

One or more local secondary indexes (the maximum is five) to be
created on the table. Each index is scoped to a given hash key value.
There is a 10 GB size limit per hash key; otherwise, the size of a
local secondary index is unconstrained.

Each local secondary index
in the array includes the following:

IndexName -
The name of the local secondary index. Must be unique only for this
table.

KeySchema - Specifies the key schema
for the local secondary index. The key schema must begin with the same
hash key attribute as the table.

Projection -
Specifies attributes that are copied (projected) from the table into
the index. These are in addition to the primary key attributes and
index key attributes, which are automatically projected. Each
attribute specification is composed of:

ProjectionType - One of the following:

KEYS_ONLY - Only the index and primary keys are
projected into the index.

INCLUDE - Only
the specified table attributes are projected into the index. The list
of projected attributes are in NonKeyAttributes.

ALL - All of the table attributes are projected into
the index.

NonKeyAttributes - A list
of one or more non-key attribute names that are projected into the
secondary index. The total count of attributes provided in
NonKeyAttributes, summed across all of the secondary indexes,
must not exceed 20. If you project the same attribute into two
different indexes, this counts as two distinct attributes when
determining the total.

Returns a reference to this object so that method calls can be chained together.

Parameters:

localSecondaryIndexes One or more local secondary indexes (the maximum is five) to be
created on the table. Each index is scoped to a given hash key value.
There is a 10 GB size limit per hash key; otherwise, the size of a
local secondary index is unconstrained.

Each local secondary index
in the array includes the following:

IndexName -
The name of the local secondary index. Must be unique only for this
table.

KeySchema - Specifies the key schema
for the local secondary index. The key schema must begin with the same
hash key attribute as the table.

Projection -
Specifies attributes that are copied (projected) from the table into
the index. These are in addition to the primary key attributes and
index key attributes, which are automatically projected. Each
attribute specification is composed of:

ProjectionType - One of the following:

KEYS_ONLY - Only the index and primary keys are
projected into the index.

INCLUDE - Only
the specified table attributes are projected into the index. The list
of projected attributes are in NonKeyAttributes.

ALL - All of the table attributes are projected into
the index.

NonKeyAttributes - A list
of one or more non-key attribute names that are projected into the
secondary index. The total count of attributes provided in
NonKeyAttributes, summed across all of the secondary indexes,
must not exceed 20. If you project the same attribute into two
different indexes, this counts as two distinct attributes when
determining the total.

Returns:

A reference to this updated object so that method calls can be chained
together.

One or more local secondary indexes (the maximum is five) to be
created on the table. Each index is scoped to a given hash key value.
There is a 10 GB size limit per hash key; otherwise, the size of a
local secondary index is unconstrained.

Each local secondary index
in the array includes the following:

IndexName -
The name of the local secondary index. Must be unique only for this
table.

KeySchema - Specifies the key schema
for the local secondary index. The key schema must begin with the same
hash key attribute as the table.

Projection -
Specifies attributes that are copied (projected) from the table into
the index. These are in addition to the primary key attributes and
index key attributes, which are automatically projected. Each
attribute specification is composed of:

ProjectionType - One of the following:

KEYS_ONLY - Only the index and primary keys are
projected into the index.

INCLUDE - Only
the specified table attributes are projected into the index. The list
of projected attributes are in NonKeyAttributes.

ALL - All of the table attributes are projected into
the index.

NonKeyAttributes - A list
of one or more non-key attribute names that are projected into the
secondary index. The total count of attributes provided in
NonKeyAttributes, summed across all of the secondary indexes,
must not exceed 20. If you project the same attribute into two
different indexes, this counts as two distinct attributes when
determining the total.

Returns a reference to this object so that method calls can be chained together.

Parameters:

localSecondaryIndexes One or more local secondary indexes (the maximum is five) to be
created on the table. Each index is scoped to a given hash key value.
There is a 10 GB size limit per hash key; otherwise, the size of a
local secondary index is unconstrained.

Each local secondary index
in the array includes the following:

IndexName -
The name of the local secondary index. Must be unique only for this
table.

KeySchema - Specifies the key schema
for the local secondary index. The key schema must begin with the same
hash key attribute as the table.

Projection -
Specifies attributes that are copied (projected) from the table into
the index. These are in addition to the primary key attributes and
index key attributes, which are automatically projected. Each
attribute specification is composed of:

ProjectionType - One of the following:

KEYS_ONLY - Only the index and primary keys are
projected into the index.

INCLUDE - Only
the specified table attributes are projected into the index. The list
of projected attributes are in NonKeyAttributes.

ALL - All of the table attributes are projected into
the index.

NonKeyAttributes - A list
of one or more non-key attribute names that are projected into the
secondary index. The total count of attributes provided in
NonKeyAttributes, summed across all of the secondary indexes,
must not exceed 20. If you project the same attribute into two
different indexes, this counts as two distinct attributes when
determining the total.

Returns:

A reference to this updated object so that method calls can be chained
together.

One or more global secondary indexes (the maximum is five) to be
created on the table. Each global secondary index in the array
includes the following:

IndexName - The name of
the global secondary index. Must be unique only for this table.

KeySchema - Specifies the key schema for the
global secondary index.

Projection - Specifies
attributes that are copied (projected) from the table into the index.
These are in addition to the primary key attributes and index key
attributes, which are automatically projected. Each attribute
specification is composed of:

ProjectionType - One
of the following:

KEYS_ONLY - Only the index
and primary keys are projected into the index.

INCLUDE - Only the specified table attributes are
projected into the index. The list of projected attributes are in
NonKeyAttributes.

ALL - All of the
table attributes are projected into the index.

NonKeyAttributes - A list of one or more non-key attribute
names that are projected into the secondary index. The total count of
attributes provided in NonKeyAttributes, summed across all of
the secondary indexes, must not exceed 20. If you project the same
attribute into two different indexes, this counts as two distinct
attributes when determining the total.

One or more global secondary indexes (the maximum is five) to be
created on the table. Each global secondary index in the array
includes the following:

IndexName - The name of
the global secondary index. Must be unique only for this table.

KeySchema - Specifies the key schema for the
global secondary index.

Projection - Specifies
attributes that are copied (projected) from the table into the index.
These are in addition to the primary key attributes and index key
attributes, which are automatically projected. Each attribute
specification is composed of:

ProjectionType - One
of the following:

KEYS_ONLY - Only the index
and primary keys are projected into the index.

INCLUDE - Only the specified table attributes are
projected into the index. The list of projected attributes are in
NonKeyAttributes.

ALL - All of the
table attributes are projected into the index.

NonKeyAttributes - A list of one or more non-key attribute
names that are projected into the secondary index. The total count of
attributes provided in NonKeyAttributes, summed across all of
the secondary indexes, must not exceed 20. If you project the same
attribute into two different indexes, this counts as two distinct
attributes when determining the total.

One or more global secondary indexes (the maximum is five) to be
created on the table. Each global secondary index in the array
includes the following:

IndexName - The name of
the global secondary index. Must be unique only for this table.

KeySchema - Specifies the key schema for the
global secondary index.

Projection - Specifies
attributes that are copied (projected) from the table into the index.
These are in addition to the primary key attributes and index key
attributes, which are automatically projected. Each attribute
specification is composed of:

ProjectionType - One
of the following:

KEYS_ONLY - Only the index
and primary keys are projected into the index.

INCLUDE - Only the specified table attributes are
projected into the index. The list of projected attributes are in
NonKeyAttributes.

ALL - All of the
table attributes are projected into the index.

NonKeyAttributes - A list of one or more non-key attribute
names that are projected into the secondary index. The total count of
attributes provided in NonKeyAttributes, summed across all of
the secondary indexes, must not exceed 20. If you project the same
attribute into two different indexes, this counts as two distinct
attributes when determining the total.

globalSecondaryIndexes One or more global secondary indexes (the maximum is five) to be
created on the table. Each global secondary index in the array
includes the following:

IndexName - The name of
the global secondary index. Must be unique only for this table.

KeySchema - Specifies the key schema for the
global secondary index.

Projection - Specifies
attributes that are copied (projected) from the table into the index.
These are in addition to the primary key attributes and index key
attributes, which are automatically projected. Each attribute
specification is composed of:

ProjectionType - One
of the following:

KEYS_ONLY - Only the index
and primary keys are projected into the index.

INCLUDE - Only the specified table attributes are
projected into the index. The list of projected attributes are in
NonKeyAttributes.

ALL - All of the
table attributes are projected into the index.

NonKeyAttributes - A list of one or more non-key attribute
names that are projected into the secondary index. The total count of
attributes provided in NonKeyAttributes, summed across all of
the secondary indexes, must not exceed 20. If you project the same
attribute into two different indexes, this counts as two distinct
attributes when determining the total.

One or more global secondary indexes (the maximum is five) to be
created on the table. Each global secondary index in the array
includes the following:

IndexName - The name of
the global secondary index. Must be unique only for this table.

KeySchema - Specifies the key schema for the
global secondary index.

Projection - Specifies
attributes that are copied (projected) from the table into the index.
These are in addition to the primary key attributes and index key
attributes, which are automatically projected. Each attribute
specification is composed of:

ProjectionType - One
of the following:

KEYS_ONLY - Only the index
and primary keys are projected into the index.

INCLUDE - Only the specified table attributes are
projected into the index. The list of projected attributes are in
NonKeyAttributes.

ALL - All of the
table attributes are projected into the index.

NonKeyAttributes - A list of one or more non-key attribute
names that are projected into the secondary index. The total count of
attributes provided in NonKeyAttributes, summed across all of
the secondary indexes, must not exceed 20. If you project the same
attribute into two different indexes, this counts as two distinct
attributes when determining the total.

Returns a reference to this object so that method calls can be chained together.

Parameters:

globalSecondaryIndexes One or more global secondary indexes (the maximum is five) to be
created on the table. Each global secondary index in the array
includes the following:

IndexName - The name of
the global secondary index. Must be unique only for this table.

KeySchema - Specifies the key schema for the
global secondary index.

Projection - Specifies
attributes that are copied (projected) from the table into the index.
These are in addition to the primary key attributes and index key
attributes, which are automatically projected. Each attribute
specification is composed of:

ProjectionType - One
of the following:

KEYS_ONLY - Only the index
and primary keys are projected into the index.

INCLUDE - Only the specified table attributes are
projected into the index. The list of projected attributes are in
NonKeyAttributes.

ALL - All of the
table attributes are projected into the index.

NonKeyAttributes - A list of one or more non-key attribute
names that are projected into the secondary index. The total count of
attributes provided in NonKeyAttributes, summed across all of
the secondary indexes, must not exceed 20. If you project the same
attribute into two different indexes, this counts as two distinct
attributes when determining the total.

One or more global secondary indexes (the maximum is five) to be
created on the table. Each global secondary index in the array
includes the following:

IndexName - The name of
the global secondary index. Must be unique only for this table.

KeySchema - Specifies the key schema for the
global secondary index.

Projection - Specifies
attributes that are copied (projected) from the table into the index.
These are in addition to the primary key attributes and index key
attributes, which are automatically projected. Each attribute
specification is composed of:

ProjectionType - One
of the following:

KEYS_ONLY - Only the index
and primary keys are projected into the index.

INCLUDE - Only the specified table attributes are
projected into the index. The list of projected attributes are in
NonKeyAttributes.

ALL - All of the
table attributes are projected into the index.

NonKeyAttributes - A list of one or more non-key attribute
names that are projected into the secondary index. The total count of
attributes provided in NonKeyAttributes, summed across all of
the secondary indexes, must not exceed 20. If you project the same
attribute into two different indexes, this counts as two distinct
attributes when determining the total.

Returns a reference to this object so that method calls can be chained together.

Parameters:

globalSecondaryIndexes One or more global secondary indexes (the maximum is five) to be
created on the table. Each global secondary index in the array
includes the following:

IndexName - The name of
the global secondary index. Must be unique only for this table.

KeySchema - Specifies the key schema for the
global secondary index.

Projection - Specifies
attributes that are copied (projected) from the table into the index.
These are in addition to the primary key attributes and index key
attributes, which are automatically projected. Each attribute
specification is composed of:

ProjectionType - One
of the following:

KEYS_ONLY - Only the index
and primary keys are projected into the index.

INCLUDE - Only the specified table attributes are
projected into the index. The list of projected attributes are in
NonKeyAttributes.

ALL - All of the
table attributes are projected into the index.

NonKeyAttributes - A list of one or more non-key attribute
names that are projected into the secondary index. The total count of
attributes provided in NonKeyAttributes, summed across all of
the secondary indexes, must not exceed 20. If you project the same
attribute into two different indexes, this counts as two distinct
attributes when determining the total.