Interface TableProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable, SchemaOptions, TableOptions
All Known Implementing Classes:
TableProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.92.0 (build db7f27d)", date="2023-12-06T04:49:37.177Z") @Stability(Stable) public interface TableProps extends software.amazon.jsii.JsiiSerializable, TableOptions
Properties for a DynamoDB Table.

Example:

 import software.amazon.awscdk.services.dynamodb.*;
 // create a table
 Table table = Table.Builder.create(this, "montable")
         .partitionKey(Attribute.builder()
                 .name("id")
                 .type(AttributeType.STRING)
                 .build())
         .build();
 Pass finalStatus = new Pass(this, "final step");
 // States language JSON to put an item into DynamoDB
 // snippet generated from https://docs.aws.amazon.com/step-functions/latest/dg/tutorial-code-snippet.html#tutorial-code-snippet-1
 Map<String, Object> stateJson = Map.of(
         "Type", "Task",
         "Resource", "arn:aws:states:::dynamodb:putItem",
         "Parameters", Map.of(
                 "TableName", table.getTableName(),
                 "Item", Map.of(
                         "id", Map.of(
                                 "S", "MyEntry"))),
         "ResultPath", null);
 // custom state which represents a task to insert data into DynamoDB
 CustomState custom = CustomState.Builder.create(this, "my custom task")
         .stateJson(stateJson)
         .build();
 Chain chain = Chain.start(custom).next(finalStatus);
 StateMachine sm = StateMachine.Builder.create(this, "StateMachine")
         .definitionBody(DefinitionBody.fromChainable(chain))
         .timeout(Duration.seconds(30))
         .comment("a super cool state machine")
         .build();
 // don't forget permissions. You need to assign them
 table.grantWriteData(sm);
 
  • Method Details

    • getKinesisStream

      @Stability(Stable) @Nullable default IStream getKinesisStream()
      Kinesis Data Stream to capture item-level changes for the table.

      Default: - no Kinesis Data Stream

    • getTableName

      @Stability(Stable) @Nullable default String getTableName()
      Enforces a particular physical table name.

      Default:

    • builder

      @Stability(Stable) static TableProps.Builder builder()
      Returns:
      a TableProps.Builder of TableProps