Skip to content
v2.274.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 ​

compactionoptionalCompactionPropertycompactionoptionalCompactionPropertycompactionoptionalCompactionPropertyCompactionoptionalCompactionPropertyCompactionoptionalCompactionProperty#
Settings governing the Compaction maintenance action.

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

icebergMetadataoptionalIcebergMetadataPropertyiceberg_metadataoptionalIcebergMetadataPropertyicebergMetadataoptionalIcebergMetadataPropertyIcebergMetadataoptionalIcebergMetadataPropertyIcebergMetadataoptionalIcebergMetadataProperty#
Contains details about the metadata for an Iceberg table.

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.

removalPolicyoptionalRemovalPolicyremoval_policyoptionalRemovalPolicyremovalPolicyoptionalRemovalPolicyRemovalPolicyoptionalRemovalPolicyRemovalPolicyoptionalRemovalPolicy= RETAIN#
Controls what happens to this table it it stoped being managed by cloudformation.
snapshotManagementoptionalSnapshotManagementPropertysnapshot_managementoptionalSnapshotManagementPropertysnapshotManagementoptionalSnapshotManagementPropertySnapshotManagementoptionalSnapshotManagementPropertySnapshotManagementoptionalSnapshotManagementProperty#
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.

storageClassoptionalStorageClassstorage_classoptionalStorageClassstorageClassoptionalStorageClassStorageClassoptionalStorageClassStorageClassoptionalStorageClass#
The storage class for the table.

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

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.

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

This property is mutually exclusive to 'IcebergMetadata'.