Class CreateTableRequest

java.lang.Object
com.amazonaws.AmazonWebServiceRequest
com.amazonaws.services.dynamodbv2.model.CreateTableRequest
All Implemented Interfaces:
ReadLimitInfo, Serializable, Cloneable

public class CreateTableRequest extends AmazonWebServiceRequest implements Serializable, Cloneable

Represents the input of a CreateTable operation.

See Also:
  • Constructor Details

    • CreateTableRequest

      public CreateTableRequest()
      Default constructor for CreateTableRequest object. Callers should use the setter or fluent setter (with...) methods to initialize the object after creating it.
    • CreateTableRequest

      public CreateTableRequest(String tableName, List<KeySchemaElement> keySchema)
      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 - The role that the 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' 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.

      For a simple primary key (partition key), you must provide exactly one element with a KeyType of HASH.

      For a composite primary key (partition key and sort key), 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.

    • CreateTableRequest

      public CreateTableRequest(List<AttributeDefinition> attributeDefinitions, String tableName, List<KeySchemaElement> keySchema, ProvisionedThroughput provisionedThroughput)
      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 - The role that the 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' 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.

      For a simple primary key (partition key), you must provide exactly one element with a KeyType of HASH.

      For a composite primary key (partition key and sort key), 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 -
  • Method Details

    • getAttributeDefinitions

      public List<AttributeDefinition> getAttributeDefinitions()

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

      Returns:
      An array of attributes that describe the key schema for the table and indexes.
    • setAttributeDefinitions

      public void setAttributeDefinitions(Collection<AttributeDefinition> attributeDefinitions)

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

      Parameters:
      attributeDefinitions - An array of attributes that describe the key schema for the table and indexes.
    • withAttributeDefinitions

      public CreateTableRequest withAttributeDefinitions(AttributeDefinition... attributeDefinitions)

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

      NOTE: This method appends the values to the existing list (if any). Use setAttributeDefinitions(java.util.Collection) or withAttributeDefinitions(java.util.Collection) if you want to override the existing values.

      Parameters:
      attributeDefinitions - An array of attributes that describe the key schema for the table and indexes.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • withAttributeDefinitions

      public CreateTableRequest withAttributeDefinitions(Collection<AttributeDefinition> attributeDefinitions)

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

      Parameters:
      attributeDefinitions - An array of attributes that describe the key schema for the table and indexes.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • setTableName

      public void setTableName(String tableName)

      The name of the table to create.

      Parameters:
      tableName - The name of the table to create.
    • getTableName

      public String getTableName()

      The name of the table to create.

      Returns:
      The name of the table to create.
    • withTableName

      public CreateTableRequest withTableName(String tableName)

      The name of the table to create.

      Parameters:
      tableName - The name of the table to create.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • getKeySchema

      public List<KeySchemaElement> getKeySchema()

      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 - The role that the 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' 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.

      For a simple primary key (partition key), you must provide exactly one element with a KeyType of HASH.

      For a composite primary key (partition key and sort key), 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:
      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 - The role that the 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' 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.

      For a simple primary key (partition key), you must provide exactly one element with a KeyType of HASH.

      For a composite primary key (partition key and sort key), 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.

    • setKeySchema

      public void setKeySchema(Collection<KeySchemaElement> 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 - The role that the 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' 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.

      For a simple primary key (partition key), you must provide exactly one element with a KeyType of HASH.

      For a composite primary key (partition key and sort key), 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.

      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 - The role that the 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' 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.

      For a simple primary key (partition key), you must provide exactly one element with a KeyType of HASH.

      For a composite primary key (partition key and sort key), 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.

    • withKeySchema

      public CreateTableRequest withKeySchema(KeySchemaElement... 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 - The role that the 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' 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.

      For a simple primary key (partition key), you must provide exactly one element with a KeyType of HASH.

      For a composite primary key (partition key and sort key), 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.

      NOTE: This method appends the values to the existing list (if any). Use setKeySchema(java.util.Collection) or withKeySchema(java.util.Collection) if you want to override the existing values.

      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 - The role that the 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' 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.

      For a simple primary key (partition key), you must provide exactly one element with a KeyType of HASH.

      For a composite primary key (partition key and sort key), 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:
      Returns a reference to this object so that method calls can be chained together.
    • withKeySchema

      public CreateTableRequest withKeySchema(Collection<KeySchemaElement> 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 - The role that the 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' 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.

      For a simple primary key (partition key), you must provide exactly one element with a KeyType of HASH.

      For a composite primary key (partition key and sort key), 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.

      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 - The role that the 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' 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.

      For a simple primary key (partition key), you must provide exactly one element with a KeyType of HASH.

      For a composite primary key (partition key and sort key), 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:
      Returns a reference to this object so that method calls can be chained together.
    • getLocalSecondaryIndexes

      public List<LocalSecondaryIndex> getLocalSecondaryIndexes()

      One or more local secondary indexes (the maximum is five) to be created on the table. Each index is scoped to a given partition key value. There is a 10 GB size limit per partition key value; 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 partition key 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 partition key value. There is a 10 GB size limit per partition key value; 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 partition key 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.

    • setLocalSecondaryIndexes

      public void setLocalSecondaryIndexes(Collection<LocalSecondaryIndex> localSecondaryIndexes)

      One or more local secondary indexes (the maximum is five) to be created on the table. Each index is scoped to a given partition key value. There is a 10 GB size limit per partition key value; 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 partition key 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 partition key value. There is a 10 GB size limit per partition key value; 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 partition key 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.

    • withLocalSecondaryIndexes

      public CreateTableRequest withLocalSecondaryIndexes(LocalSecondaryIndex... localSecondaryIndexes)

      One or more local secondary indexes (the maximum is five) to be created on the table. Each index is scoped to a given partition key value. There is a 10 GB size limit per partition key value; 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 partition key 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.

      NOTE: This method appends the values to the existing list (if any). Use setLocalSecondaryIndexes(java.util.Collection) or withLocalSecondaryIndexes(java.util.Collection) if you want to override the existing values.

      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 partition key value. There is a 10 GB size limit per partition key value; 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 partition key 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:
      Returns a reference to this object so that method calls can be chained together.
    • withLocalSecondaryIndexes

      public CreateTableRequest withLocalSecondaryIndexes(Collection<LocalSecondaryIndex> localSecondaryIndexes)

      One or more local secondary indexes (the maximum is five) to be created on the table. Each index is scoped to a given partition key value. There is a 10 GB size limit per partition key value; 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 partition key 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 partition key value. There is a 10 GB size limit per partition key value; 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 partition key 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:
      Returns a reference to this object so that method calls can be chained together.
    • getGlobalSecondaryIndexes

      public List<GlobalSecondaryIndex> getGlobalSecondaryIndexes()

      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.

      • ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units.

      Returns:
      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.

      • ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units.

    • setGlobalSecondaryIndexes

      public void setGlobalSecondaryIndexes(Collection<GlobalSecondaryIndex> 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.

      • ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units.

      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.

      • ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units.

    • withGlobalSecondaryIndexes

      public CreateTableRequest withGlobalSecondaryIndexes(GlobalSecondaryIndex... 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.

      • ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units.

      NOTE: This method appends the values to the existing list (if any). Use setGlobalSecondaryIndexes(java.util.Collection) or withGlobalSecondaryIndexes(java.util.Collection) if you want to override the existing values.

      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.

      • ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units.

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

      public CreateTableRequest withGlobalSecondaryIndexes(Collection<GlobalSecondaryIndex> 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.

      • ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units.

      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.

      • ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units.

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

      public void setProvisionedThroughput(ProvisionedThroughput provisionedThroughput)
      Parameters:
      provisionedThroughput -
    • getProvisionedThroughput

      public ProvisionedThroughput getProvisionedThroughput()
      Returns:
    • withProvisionedThroughput

      public CreateTableRequest withProvisionedThroughput(ProvisionedThroughput provisionedThroughput)
      Parameters:
      provisionedThroughput -
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • setStreamSpecification

      public void setStreamSpecification(StreamSpecification streamSpecification)

      The settings for DynamoDB Streams on the table. These settings consist of:

      • StreamEnabled - Indicates whether Streams is to be enabled (true) or disabled (false).

      • StreamViewType - When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values for StreamViewType are:

        • KEYS_ONLY - Only the key attributes of the modified item are written to the stream.

        • NEW_IMAGE - The entire item, as it appears after it was modified, is written to the stream.

        • OLD_IMAGE - The entire item, as it appeared before it was modified, is written to the stream.

        • NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are written to the stream.

      Parameters:
      streamSpecification - The settings for DynamoDB Streams on the table. These settings consist of:

      • StreamEnabled - Indicates whether Streams is to be enabled (true) or disabled (false).

      • StreamViewType - When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values for StreamViewType are:

        • KEYS_ONLY - Only the key attributes of the modified item are written to the stream.

        • NEW_IMAGE - The entire item, as it appears after it was modified, is written to the stream.

        • OLD_IMAGE - The entire item, as it appeared before it was modified, is written to the stream.

        • NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are written to the stream.

    • getStreamSpecification

      public StreamSpecification getStreamSpecification()

      The settings for DynamoDB Streams on the table. These settings consist of:

      • StreamEnabled - Indicates whether Streams is to be enabled (true) or disabled (false).

      • StreamViewType - When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values for StreamViewType are:

        • KEYS_ONLY - Only the key attributes of the modified item are written to the stream.

        • NEW_IMAGE - The entire item, as it appears after it was modified, is written to the stream.

        • OLD_IMAGE - The entire item, as it appeared before it was modified, is written to the stream.

        • NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are written to the stream.

      Returns:
      The settings for DynamoDB Streams on the table. These settings consist of:

      • StreamEnabled - Indicates whether Streams is to be enabled (true) or disabled (false).

      • StreamViewType - When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values for StreamViewType are:

        • KEYS_ONLY - Only the key attributes of the modified item are written to the stream.

        • NEW_IMAGE - The entire item, as it appears after it was modified, is written to the stream.

        • OLD_IMAGE - The entire item, as it appeared before it was modified, is written to the stream.

        • NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are written to the stream.

    • withStreamSpecification

      public CreateTableRequest withStreamSpecification(StreamSpecification streamSpecification)

      The settings for DynamoDB Streams on the table. These settings consist of:

      • StreamEnabled - Indicates whether Streams is to be enabled (true) or disabled (false).

      • StreamViewType - When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values for StreamViewType are:

        • KEYS_ONLY - Only the key attributes of the modified item are written to the stream.

        • NEW_IMAGE - The entire item, as it appears after it was modified, is written to the stream.

        • OLD_IMAGE - The entire item, as it appeared before it was modified, is written to the stream.

        • NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are written to the stream.

      Parameters:
      streamSpecification - The settings for DynamoDB Streams on the table. These settings consist of:

      • StreamEnabled - Indicates whether Streams is to be enabled (true) or disabled (false).

      • StreamViewType - When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values for StreamViewType are:

        • KEYS_ONLY - Only the key attributes of the modified item are written to the stream.

        • NEW_IMAGE - The entire item, as it appears after it was modified, is written to the stream.

        • OLD_IMAGE - The entire item, as it appeared before it was modified, is written to the stream.

        • NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are written to the stream.

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

      public String toString()
      Returns a string representation of this object; useful for testing and debugging.
      Overrides:
      toString in class Object
      Returns:
      A string representation of this object.
      See Also:
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • clone

      public CreateTableRequest clone()
      Description copied from class: AmazonWebServiceRequest
      Creates a shallow clone of this request. Explicitly does not clone the deep structure of the request object.
      Overrides:
      clone in class AmazonWebServiceRequest
      See Also: