CfnTablePropsMixin

class aws_cdk.mixins_preview.aws_s3tables.mixins.CfnTablePropsMixin(props, *, strategy=None)

Bases: Mixin

Creates a new table associated with the given namespace in a table bucket.

For more information, see Creating an Amazon S3 table in the Amazon Simple Storage Service User Guide .

  • Permissions - - You must have the s3tables:CreateTable permission to use this operation.

  • If you use this operation with the optional metadata request parameter you must have the s3tables:PutTableData permission.

  • If you use this operation with the optional encryptionConfiguration request parameter you must have the s3tables:PutTableEncryption permission.

Additionally, If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see Permissions requirements for S3 Tables SSE-KMS encryption .

  • Cloud Development Kit - To use S3 Tables AWS CDK constructs, add the @aws-cdk/aws-s3tables-alpha dependency with one of the following options:

  • NPM: `npm i

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html

Aws-cdk:

/aws-s3tables-alpha`

  • Yarn: yarn add @aws-cdk/aws-s3tables-alpha

CloudformationResource:

AWS::S3Tables::Table

Mixin:

true

ExampleMetadata:

fixture=_generated

Example:

from aws_cdk import CfnTag
# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview import mixins
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

cfn_table_props_mixin = s3tables_mixins.CfnTablePropsMixin(s3tables_mixins.CfnTableMixinProps(
    compaction=s3tables_mixins.CfnTablePropsMixin.CompactionProperty(
        status="status",
        target_file_size_mb=123
    ),
    iceberg_metadata=s3tables_mixins.CfnTablePropsMixin.IcebergMetadataProperty(
        iceberg_partition_spec=s3tables_mixins.CfnTablePropsMixin.IcebergPartitionSpecProperty(
            fields=[s3tables_mixins.CfnTablePropsMixin.IcebergPartitionFieldProperty(
                field_id=123,
                name="name",
                source_id=123,
                transform="transform"
            )],
            spec_id=123
        ),
        iceberg_schema=s3tables_mixins.CfnTablePropsMixin.IcebergSchemaProperty(
            schema_field_list=[s3tables_mixins.CfnTablePropsMixin.SchemaFieldProperty(
                id=123,
                name="name",
                required=False,
                type="type"
            )]
        ),
        iceberg_sort_order=s3tables_mixins.CfnTablePropsMixin.IcebergSortOrderProperty(
            fields=[s3tables_mixins.CfnTablePropsMixin.IcebergSortFieldProperty(
                direction="direction",
                null_order="nullOrder",
                source_id=123,
                transform="transform"
            )],
            order_id=123
        ),
        table_properties={
            "table_properties_key": "tableProperties"
        }
    ),
    namespace="namespace",
    open_table_format="openTableFormat",
    snapshot_management=s3tables_mixins.CfnTablePropsMixin.SnapshotManagementProperty(
        max_snapshot_age_hours=123,
        min_snapshots_to_keep=123,
        status="status"
    ),
    storage_class_configuration=s3tables_mixins.CfnTablePropsMixin.StorageClassConfigurationProperty(
        storage_class="storageClass"
    ),
    table_bucket_arn="tableBucketArn",
    table_name="tableName",
    tags=[CfnTag(
        key="key",
        value="value"
    )],
    without_metadata="withoutMetadata"
),
    strategy=mixins.PropertyMergeStrategy.OVERRIDE
)

Create a mixin to apply properties to AWS::S3Tables::Table.

Parameters:
  • props (Union[CfnTableMixinProps, Dict[str, Any]]) – L1 properties to apply.

  • strategy (Optional[PropertyMergeStrategy]) – (experimental) Strategy for merging nested properties. Default: - PropertyMergeStrategy.MERGE

Methods

apply_to(construct)

Apply the mixin properties to the construct.

Parameters:

construct (IConstruct)

Return type:

None

supports(construct)

Check if this mixin supports the given construct.

Parameters:

construct (IConstruct)

Return type:

bool

Attributes

CFN_PROPERTY_KEYS = ['compaction', 'icebergMetadata', 'namespace', 'openTableFormat', 'snapshotManagement', 'storageClassConfiguration', 'tableBucketArn', 'tableName', 'tags', 'withoutMetadata']

Static Methods

classmethod is_mixin(x)

Checks if x is a Mixin.

Parameters:

x (Any) – Any object.

Return type:

bool

Returns:

true if x is an object created from a class which extends Mixin.

CompactionProperty

class CfnTablePropsMixin.CompactionProperty(*, status=None, target_file_size_mb=None)

Bases: object

Contains details about the compaction settings for an Iceberg table.

Parameters:
  • status (Optional[str]) – The status of the maintenance configuration.

  • target_file_size_mb (Union[int, float, None]) – The target file size for the table in MB.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-compaction.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

compaction_property = s3tables_mixins.CfnTablePropsMixin.CompactionProperty(
    status="status",
    target_file_size_mb=123
)

Attributes

status

The status of the maintenance configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-compaction.html#cfn-s3tables-table-compaction-status

target_file_size_mb

The target file size for the table in MB.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-compaction.html#cfn-s3tables-table-compaction-targetfilesizemb

IcebergMetadataProperty

class CfnTablePropsMixin.IcebergMetadataProperty(*, iceberg_partition_spec=None, iceberg_schema=None, iceberg_sort_order=None, table_properties=None)

Bases: object

Contains details about the metadata for an Iceberg table.

Parameters:
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergmetadata.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

iceberg_metadata_property = s3tables_mixins.CfnTablePropsMixin.IcebergMetadataProperty(
    iceberg_partition_spec=s3tables_mixins.CfnTablePropsMixin.IcebergPartitionSpecProperty(
        fields=[s3tables_mixins.CfnTablePropsMixin.IcebergPartitionFieldProperty(
            field_id=123,
            name="name",
            source_id=123,
            transform="transform"
        )],
        spec_id=123
    ),
    iceberg_schema=s3tables_mixins.CfnTablePropsMixin.IcebergSchemaProperty(
        schema_field_list=[s3tables_mixins.CfnTablePropsMixin.SchemaFieldProperty(
            id=123,
            name="name",
            required=False,
            type="type"
        )]
    ),
    iceberg_sort_order=s3tables_mixins.CfnTablePropsMixin.IcebergSortOrderProperty(
        fields=[s3tables_mixins.CfnTablePropsMixin.IcebergSortFieldProperty(
            direction="direction",
            null_order="nullOrder",
            source_id=123,
            transform="transform"
        )],
        order_id=123
    ),
    table_properties={
        "table_properties_key": "tableProperties"
    }
)

Attributes

iceberg_partition_spec

Partition specification for an Iceberg table.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergmetadata.html#cfn-s3tables-table-icebergmetadata-icebergpartitionspec

iceberg_schema

The schema for an Iceberg table.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergmetadata.html#cfn-s3tables-table-icebergmetadata-icebergschema

iceberg_sort_order

Sort order specification for an Iceberg table.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergmetadata.html#cfn-s3tables-table-icebergmetadata-icebergsortorder

table_properties

Iceberg table properties (e.g., format-version, write.parquet.compression-codec).

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergmetadata.html#cfn-s3tables-table-icebergmetadata-tableproperties

IcebergPartitionFieldProperty

class CfnTablePropsMixin.IcebergPartitionFieldProperty(*, field_id=None, name=None, source_id=None, transform=None)

Bases: object

A partition field specification for an Iceberg table.

Parameters:
  • field_id (Union[int, float, None]) – The partition field ID (auto-assigned starting from 1000 if not specified).

  • name (Optional[str]) – The name of the partition field.

  • source_id (Union[int, float, None]) – The source column ID to partition on.

  • transform (Optional[str]) – The partition transform function (identity, bucket[N], truncate[N], year, month, day, hour).

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergpartitionfield.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

iceberg_partition_field_property = s3tables_mixins.CfnTablePropsMixin.IcebergPartitionFieldProperty(
    field_id=123,
    name="name",
    source_id=123,
    transform="transform"
)

Attributes

field_id

The partition field ID (auto-assigned starting from 1000 if not specified).

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergpartitionfield.html#cfn-s3tables-table-icebergpartitionfield-fieldid

name

The name of the partition field.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergpartitionfield.html#cfn-s3tables-table-icebergpartitionfield-name

source_id

The source column ID to partition on.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergpartitionfield.html#cfn-s3tables-table-icebergpartitionfield-sourceid

transform

The partition transform function (identity, bucket[N], truncate[N], year, month, day, hour).

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergpartitionfield.html#cfn-s3tables-table-icebergpartitionfield-transform

IcebergPartitionSpecProperty

class CfnTablePropsMixin.IcebergPartitionSpecProperty(*, fields=None, spec_id=None)

Bases: object

Partition specification for an Iceberg table.

Parameters:
  • fields (Union[IResolvable, Sequence[Union[IResolvable, IcebergPartitionFieldProperty, Dict[str, Any]]], None]) – List of partition fields for an Iceberg table.

  • spec_id (Union[int, float, None]) – The partition spec ID (defaults to 0 if not specified).

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergpartitionspec.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

iceberg_partition_spec_property = s3tables_mixins.CfnTablePropsMixin.IcebergPartitionSpecProperty(
    fields=[s3tables_mixins.CfnTablePropsMixin.IcebergPartitionFieldProperty(
        field_id=123,
        name="name",
        source_id=123,
        transform="transform"
    )],
    spec_id=123
)

Attributes

fields

List of partition fields for an Iceberg table.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergpartitionspec.html#cfn-s3tables-table-icebergpartitionspec-fields

spec_id

The partition spec ID (defaults to 0 if not specified).

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergpartitionspec.html#cfn-s3tables-table-icebergpartitionspec-specid

IcebergSchemaProperty

class CfnTablePropsMixin.IcebergSchemaProperty(*, schema_field_list=None)

Bases: object

Contains details about the schema for an Iceberg table.

Parameters:

schema_field_list (Union[IResolvable, Sequence[Union[IResolvable, SchemaFieldProperty, Dict[str, Any]]], None]) – The schema fields for the table.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergschema.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

iceberg_schema_property = s3tables_mixins.CfnTablePropsMixin.IcebergSchemaProperty(
    schema_field_list=[s3tables_mixins.CfnTablePropsMixin.SchemaFieldProperty(
        id=123,
        name="name",
        required=False,
        type="type"
    )]
)

Attributes

schema_field_list

The schema fields for the table.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergschema.html#cfn-s3tables-table-icebergschema-schemafieldlist

IcebergSortFieldProperty

class CfnTablePropsMixin.IcebergSortFieldProperty(*, direction=None, null_order=None, source_id=None, transform=None)

Bases: object

A sort field specification for an Iceberg table.

Parameters:
  • direction (Optional[str]) – Sort direction (asc or desc).

  • null_order (Optional[str]) – Null value ordering (nulls-first or nulls-last).

  • source_id (Union[int, float, None]) – The source column ID to sort on.

  • transform (Optional[str]) – The sort transform function.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergsortfield.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

iceberg_sort_field_property = s3tables_mixins.CfnTablePropsMixin.IcebergSortFieldProperty(
    direction="direction",
    null_order="nullOrder",
    source_id=123,
    transform="transform"
)

Attributes

direction

Sort direction (asc or desc).

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergsortfield.html#cfn-s3tables-table-icebergsortfield-direction

null_order

Null value ordering (nulls-first or nulls-last).

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergsortfield.html#cfn-s3tables-table-icebergsortfield-nullorder

source_id

The source column ID to sort on.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergsortfield.html#cfn-s3tables-table-icebergsortfield-sourceid

transform

The sort transform function.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergsortfield.html#cfn-s3tables-table-icebergsortfield-transform

IcebergSortOrderProperty

class CfnTablePropsMixin.IcebergSortOrderProperty(*, fields=None, order_id=None)

Bases: object

Sort order specification for an Iceberg table.

Parameters:
  • fields (Union[IResolvable, Sequence[Union[IResolvable, IcebergSortFieldProperty, Dict[str, Any]]], None]) – List of sort fields for an Iceberg table.

  • order_id (Union[int, float, None]) – The sort order ID (defaults to 1 if not specified, 0 is reserved for unsorted).

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergsortorder.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

iceberg_sort_order_property = s3tables_mixins.CfnTablePropsMixin.IcebergSortOrderProperty(
    fields=[s3tables_mixins.CfnTablePropsMixin.IcebergSortFieldProperty(
        direction="direction",
        null_order="nullOrder",
        source_id=123,
        transform="transform"
    )],
    order_id=123
)

Attributes

fields

List of sort fields for an Iceberg table.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergsortorder.html#cfn-s3tables-table-icebergsortorder-fields

order_id

The sort order ID (defaults to 1 if not specified, 0 is reserved for unsorted).

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergsortorder.html#cfn-s3tables-table-icebergsortorder-orderid

SchemaFieldProperty

class CfnTablePropsMixin.SchemaFieldProperty(*, id=None, name=None, required=None, type=None)

Bases: object

Contains details about a schema field.

Parameters:
  • id (Union[int, float, None]) – The unique identifier for the field.

  • name (Optional[str]) – The name of the field.

  • required (Union[bool, IResolvable, None]) – A Boolean value that specifies whether values are required for each row in this field. By default, this is false and null values are allowed in the field. If this is true the field does not allow null values.

  • type (Optional[str]) – The field type. S3 Tables supports all Apache Iceberg primitive types. For more information, see the Apache Iceberg documentation .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

schema_field_property = s3tables_mixins.CfnTablePropsMixin.SchemaFieldProperty(
    id=123,
    name="name",
    required=False,
    type="type"
)

Attributes

id

The unique identifier for the field.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html#cfn-s3tables-table-schemafield-id

name

The name of the field.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html#cfn-s3tables-table-schemafield-name

required

A Boolean value that specifies whether values are required for each row in this field.

By default, this is false and null values are allowed in the field. If this is true the field does not allow null values.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html#cfn-s3tables-table-schemafield-required

type

The field type.

S3 Tables supports all Apache Iceberg primitive types. For more information, see the Apache Iceberg documentation .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html#cfn-s3tables-table-schemafield-type

SnapshotManagementProperty

class CfnTablePropsMixin.SnapshotManagementProperty(*, max_snapshot_age_hours=None, min_snapshots_to_keep=None, status=None)

Bases: object

Contains details about the snapshot management settings for an Iceberg table.

The oldest snapshot expires when its age exceeds the maxSnapshotAgeHours and the total number of snapshots exceeds the value for the minimum number of snapshots to keep minSnapshotsToKeep .

Parameters:
  • max_snapshot_age_hours (Union[int, float, None]) – The maximum age of a snapshot before it can be expired.

  • min_snapshots_to_keep (Union[int, float, None]) – The minimum number of snapshots to keep.

  • status (Optional[str]) – The status of the maintenance configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-snapshotmanagement.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

snapshot_management_property = s3tables_mixins.CfnTablePropsMixin.SnapshotManagementProperty(
    max_snapshot_age_hours=123,
    min_snapshots_to_keep=123,
    status="status"
)

Attributes

max_snapshot_age_hours

The maximum age of a snapshot before it can be expired.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-snapshotmanagement.html#cfn-s3tables-table-snapshotmanagement-maxsnapshotagehours

min_snapshots_to_keep

The minimum number of snapshots to keep.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-snapshotmanagement.html#cfn-s3tables-table-snapshotmanagement-minsnapshotstokeep

status

The status of the maintenance configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-snapshotmanagement.html#cfn-s3tables-table-snapshotmanagement-status

StorageClassConfigurationProperty

class CfnTablePropsMixin.StorageClassConfigurationProperty(*, storage_class=None)

Bases: object

The configuration details for the storage class of tables or table buckets.

This allows you to optimize storage costs by selecting the appropriate storage class based on your access patterns and performance requirements.

Parameters:

storage_class (Optional[str]) – The storage class for the table or table bucket. Valid values include storage classes optimized for different access patterns and cost profiles.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-storageclassconfiguration.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

storage_class_configuration_property = s3tables_mixins.CfnTablePropsMixin.StorageClassConfigurationProperty(
    storage_class="storageClass"
)

Attributes

storage_class

The storage class for the table or table bucket.

Valid values include storage classes optimized for different access patterns and cost profiles.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-storageclassconfiguration.html#cfn-s3tables-table-storageclassconfiguration-storageclass