Skip to content
v2.273.0

Experimental

@aws-cdk/aws-s3tables-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.

TableProps Struct ​

Properties for creating a new S3 Table.

Example ​

ts
// Build a table with partition spec (minimal configuration)
const partitionedTable = new Table(scope, 'PartitionedTable', {
    tableName: 'partitioned_table',
    namespace: namespace,
    openTableFormat: OpenTableFormat.ICEBERG,
    icebergMetadata: {
        icebergSchema: {
            schemaFieldList: [
                { name: 'event_date', type: 'date', required: true },
                { name: 'event_name', type: 'string' },
            ],
        },
        icebergPartitionSpec: {
            fields: [
                {
                    sourceId: 1,
                    transform: IcebergTransform.IDENTITY,
                    name: 'date_partition',
                },
            ],
        },
    },
});

Properties ​

compactionCompactionPropertycompactionCompactionPropertycompactionCompactionPropertyCompactionCompactionPropertyCompactionCompactionProperty= Amazon S3 selects the best compa…#
Settings governing the Compaction maintenance action.
default

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

icebergMetadataIcebergMetadataPropertyiceberg_metadataIcebergMetadataPropertyicebergMetadataIcebergMetadataPropertyIcebergMetadataIcebergMetadataPropertyIcebergMetadataIcebergMetadataProperty= table is created without any met…#
Contains details about the metadata for an Iceberg table.
default

Default: table is created without any metadata

namespaceINamespacenamespaceINamespacenamespaceINamespaceNamespaceINamespaceNamespaceINamespacerequired#
The namespace under which this table is created.
openTableFormatOpenTableFormatopen_table_formatOpenTableFormatopenTableFormatOpenTableFormatOpenTableFormatOpenTableFormatOpenTableFormatOpenTableFormatrequired#
Format of this table.

Currently, the only supported value is OpenTableFormat.ICEBERG.

removalPolicyRemovalPolicyremoval_policyRemovalPolicyremovalPolicyRemovalPolicyRemovalPolicyRemovalPolicyRemovalPolicyRemovalPolicy= RETAIN#
Controls what happens to this table it it stoped being managed by cloudformation.
snapshotManagementSnapshotManagementPropertysnapshot_managementSnapshotManagementPropertysnapshotManagementSnapshotManagementPropertySnapshotManagementSnapshotManagementPropertySnapshotManagementSnapshotManagementProperty= enabled: MinimumSnapshots is 1 b…#
Contains details about the snapshot management settings for an Iceberg table.
default

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

storageClassStorageClassstorage_classStorageClassstorageClassStorageClassStorageClassStorageClassStorageClassStorageClass= Inherits from the table bucket's…#
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

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

tableNamestringtable_namestrtableNameStringTableNamestringTableName*stringrequired#
Name of this table, unique within the namespace.
withoutMetadatabooleanwithout_metadataboolwithoutMetadataBooleanWithoutMetadataboolWithoutMetadata*bool= false#
If true, indicates that you don't want to specify a schema for the table.

This property is mutually exclusive to 'IcebergMetadata'.

Used as props by ​