Interface TableProps

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

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:42.607Z") @Stability(Experimental) public interface TableProps extends software.amazon.jsii.JsiiSerializable
Example:

 Database myDatabase;
 Table.Builder.create(this, "MyTable")
         .database(myDatabase)
         .tableName("my_table")
         .columns(List.of(Column.builder()
                 .name("col1")
                 .type(Schema.STRING)
                 .build()))
         .partitionKeys(List.of(Column.builder()
                 .name("year")
                 .type(Schema.SMALL_INT)
                 .build(), Column.builder()
                 .name("month")
                 .type(Schema.SMALL_INT)
                 .build()))
         .dataFormat(DataFormat.JSON)
         .build();
 
  • Method Details

    • getColumns

      @Stability(Experimental) @NotNull List<Column> getColumns()
      (experimental) Columns of the table.
    • getDatabase

      @Stability(Experimental) @NotNull IDatabase getDatabase()
      (experimental) Database in which to store the table.
    • getDataFormat

      @Stability(Experimental) @NotNull DataFormat getDataFormat()
      (experimental) Storage type of the table's data.
    • getTableName

      @Stability(Experimental) @NotNull String getTableName()
      (experimental) Name of the table.
    • getBucket

      @Stability(Experimental) @Nullable default IBucket getBucket()
      (experimental) S3 bucket in which to store data.

      Default: one is created for you

    • getCompressed

      @Stability(Experimental) @Nullable default Boolean getCompressed()
      (experimental) Indicates whether the table's data is compressed or not.

      Default: false

    • getDescription

      @Stability(Experimental) @Nullable default String getDescription()
      (experimental) Description of the table.

      Default: generated

    • getEncryption

      @Stability(Experimental) @Nullable default TableEncryption getEncryption()
      (experimental) The kind of encryption to secure the data with.

      You can only provide this option if you are not explicitly passing in a bucket.

      If you choose SSE-KMS, you can provide an un-managed KMS key with encryptionKey. If you choose CSE-KMS, you must provide an un-managed KMS key with encryptionKey.

      Default: Unencrypted

    • getEncryptionKey

      @Stability(Experimental) @Nullable default IKey getEncryptionKey()
      (experimental) External KMS key to use for bucket encryption.

      The encryption property must be SSE-KMS or CSE-KMS.

      Default: key is managed by KMS.

    • getPartitionIndexes

      @Stability(Experimental) @Nullable default List<PartitionIndex> getPartitionIndexes()
      (experimental) Partition indexes on the table.

      A maximum of 3 indexes are allowed on a table. Keys in the index must be part of the table's partition keys.

      Default: table has no partition indexes

    • getPartitionKeys

      @Stability(Experimental) @Nullable default List<Column> getPartitionKeys()
      (experimental) Partition columns of the table.

      Default: table is not partitioned

    • getS3Prefix

      @Stability(Experimental) @Nullable default String getS3Prefix()
      (experimental) S3 prefix under which table objects are stored.

      Default: - No prefix. The data will be stored under the root of the bucket.

    • getStoredAsSubDirectories

      @Stability(Experimental) @Nullable default Boolean getStoredAsSubDirectories()
      (experimental) Indicates whether the table data is stored in subdirectories.

      Default: false

    • builder

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