CfnTablePropsMixin
- class aws_cdk.mixins_preview.aws_s3tables.mixins.CfnTablePropsMixin(props, *, strategy=None)
Bases:
MixinCreates 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:CreateTablepermission to use this operation.If you use this operation with the optional
metadatarequest parameter you must have thes3tables:PutTableDatapermission.If you use this operation with the optional
encryptionConfigurationrequest parameter you must have thes3tables:PutTableEncryptionpermission.
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-alphadependency 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
xis a Mixin.- Parameters:
x (
Any) – Any object.- Return type:
bool- Returns:
true if
xis an object created from a class which extendsMixin.
CompactionProperty
- class CfnTablePropsMixin.CompactionProperty(*, status=None, target_file_size_mb=None)
Bases:
objectContains 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:
- 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.
- target_file_size_mb
The target file size for the table in MB.
IcebergMetadataProperty
- class CfnTablePropsMixin.IcebergMetadataProperty(*, iceberg_partition_spec=None, iceberg_schema=None, iceberg_sort_order=None, table_properties=None)
Bases:
objectContains details about the metadata for an Iceberg table.
- Parameters:
iceberg_partition_spec (
Union[IResolvable,IcebergPartitionSpecProperty,Dict[str,Any],None]) – Partition specification for an Iceberg table.iceberg_schema (
Union[IResolvable,IcebergSchemaProperty,Dict[str,Any],None]) – The schema for an Iceberg table.iceberg_sort_order (
Union[IResolvable,IcebergSortOrderProperty,Dict[str,Any],None]) – Sort order specification for an Iceberg table.table_properties (
Union[Mapping[str,str],IResolvable,None]) – Iceberg table properties (e.g., format-version, write.parquet.compression-codec).
- See:
- 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.
- iceberg_schema
The schema for an Iceberg table.
- iceberg_sort_order
Sort order specification for an Iceberg table.
- table_properties
Iceberg table properties (e.g., format-version, write.parquet.compression-codec).
IcebergPartitionFieldProperty
- class CfnTablePropsMixin.IcebergPartitionFieldProperty(*, field_id=None, name=None, source_id=None, transform=None)
Bases:
objectA 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:
- 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).
- name
The name of the partition field.
- source_id
The source column ID to partition on.
- transform
The partition transform function (identity, bucket[N], truncate[N], year, month, day, hour).
IcebergPartitionSpecProperty
- class CfnTablePropsMixin.IcebergPartitionSpecProperty(*, fields=None, spec_id=None)
Bases:
objectPartition 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:
- 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.
- spec_id
The partition spec ID (defaults to 0 if not specified).
IcebergSchemaProperty
- class CfnTablePropsMixin.IcebergSchemaProperty(*, schema_field_list=None)
Bases:
objectContains 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:
- 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.
IcebergSortFieldProperty
- class CfnTablePropsMixin.IcebergSortFieldProperty(*, direction=None, null_order=None, source_id=None, transform=None)
Bases:
objectA 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:
- 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).
- null_order
Null value ordering (nulls-first or nulls-last).
- source_id
The source column ID to sort on.
- transform
The sort transform function.
IcebergSortOrderProperty
- class CfnTablePropsMixin.IcebergSortOrderProperty(*, fields=None, order_id=None)
Bases:
objectSort 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:
- 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.
- order_id
The sort order ID (defaults to 1 if not specified, 0 is reserved for unsorted).
SchemaFieldProperty
- class CfnTablePropsMixin.SchemaFieldProperty(*, id=None, name=None, required=None, type=None)
Bases:
objectContains 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 isfalseand null values are allowed in the field. If this istruethe 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:
- 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.
- name
The name of the field.
- required
A Boolean value that specifies whether values are required for each row in this field.
By default, this is
falseand null values are allowed in the field. If this istruethe field does not allow null values.
- type
The field type.
S3 Tables supports all Apache Iceberg primitive types. For more information, see the Apache Iceberg documentation .
SnapshotManagementProperty
- class CfnTablePropsMixin.SnapshotManagementProperty(*, max_snapshot_age_hours=None, min_snapshots_to_keep=None, status=None)
Bases:
objectContains details about the snapshot management settings for an Iceberg table.
The oldest snapshot expires when its age exceeds the
maxSnapshotAgeHoursand the total number of snapshots exceeds the value for the minimum number of snapshots to keepminSnapshotsToKeep.- 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:
- 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.
- min_snapshots_to_keep
The minimum number of snapshots to keep.
- status
The status of the maintenance configuration.
StorageClassConfigurationProperty
- class CfnTablePropsMixin.StorageClassConfigurationProperty(*, storage_class=None)
Bases:
objectThe 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:
- 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.