Interface TableProps

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

@Generated(value="jsii-pacmak/1.139.0 (build 26a6b54)", date="2026-09-10T17:52:12.422Z") @Stability(Experimental) public interface TableProps extends software.amazon.jsii.JsiiSerializable
(experimental) Properties for creating a new S3 Table.

Example:

 // Build a table with partition spec (minimal configuration)
 Table partitionedTable = Table.Builder.create(scope, "PartitionedTable")
         .tableName("partitioned_table")
         .namespace(namespace)
         .openTableFormat(OpenTableFormat.ICEBERG)
         .icebergMetadata(IcebergMetadataProperty.builder()
                 .icebergSchema(IcebergSchemaProperty.builder()
                         .schemaFieldList(List.of(SchemaFieldProperty.builder().name("event_date").type("date").required(true).build(), SchemaFieldProperty.builder().name("event_name").type("string").build()))
                         .build())
                 .icebergPartitionSpec(IcebergPartitionSpec.builder()
                         .fields(List.of(IcebergPartitionField.builder()
                                 .sourceId(1)
                                 .transform(IcebergTransform.IDENTITY)
                                 .name("date_partition")
                                 .build()))
                         .build())
                 .build())
         .build();
 
  • Method Details

    • getNamespace

      @Stability(Experimental) @NotNull INamespace getNamespace()
      (experimental) The namespace under which this table is created.
    • getOpenTableFormat

      @Stability(Experimental) @NotNull OpenTableFormat getOpenTableFormat()
      (experimental) Format of this table.

      Currently, the only supported value is OpenTableFormat.ICEBERG.

    • getTableName

      @Stability(Experimental) @NotNull String getTableName()
      (experimental) Name of this table, unique within the namespace.
    • getCompaction

      @Stability(Experimental) @Nullable default CompactionProperty getCompaction()
      (experimental) Settings governing the Compaction maintenance action.

      Default: Amazon S3 selects the best compaction strategy based on your table sort order.

      See Also:
    • getIcebergMetadata

      @Stability(Experimental) @Nullable default IcebergMetadataProperty getIcebergMetadata()
      (experimental) Contains details about the metadata for an Iceberg table.

      Default: table is created without any metadata

    • getRemovalPolicy

      @Stability(Experimental) @Nullable default RemovalPolicy getRemovalPolicy()
      (experimental) Controls what happens to this table it it stoped being managed by cloudformation.

      Default: RETAIN

    • getSnapshotManagement

      @Stability(Experimental) @Nullable default SnapshotManagementProperty getSnapshotManagement()
      (experimental) Contains details about the snapshot management settings for an Iceberg table.

      Default: enabled: MinimumSnapshots is 1 by default and MaximumSnapshotAge is 120 hours by default.

    • getStorageClass

      @Stability(Experimental) @Nullable default StorageClass getStorageClass()
      (experimental) The storage class for the table.

      Determines the storage tier used for table data, allowing optimization for different access patterns and cost profiles.

      Note: This is a create-only property and cannot be changed after the table is created.

      Default: - Inherits from the table bucket's storage class configuration

    • getWithoutMetadata

      @Stability(Experimental) @Nullable default Boolean getWithoutMetadata()
      (experimental) If true, indicates that you don't want to specify a schema for the table.

      This property is mutually exclusive to 'IcebergMetadata'.

      Default: false

    • builder

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