Skip to content

feat: support L2 constructs for Amazon S3 Tables#33599

Merged
mergify[bot] merged 27 commits intoaws:mainfrom
xuxey:tables-constructs
Apr 8, 2025
Merged

feat: support L2 constructs for Amazon S3 Tables#33599
mergify[bot] merged 27 commits intoaws:mainfrom
xuxey:tables-constructs

Conversation

@xuxey
Copy link
Copy Markdown
Contributor

@xuxey xuxey commented Feb 27, 2025

Reason for this change

This adds an alpha module @aws-cdk/aws-s3tables-alpha containing L2 constructs for Amazon S3 Tables.

Description of changes

Amazon S3 Tables deliver the first cloud object store with built-in Apache Iceberg support and streamline storing tabular data at scale. See product page.

These changes set up an alpha module for higher level L2 constructs for S3 Tables:

Example Usage

Define an S3 Table Bucket

// Build a Table bucket
const tableBucket = new TableBucket(scope, 'ExampleTableBucket', {
    tableBucketName: 'example-bucket-1',
    // optional fields:
    unreferencedFileRemoval: {
        noncurrentDays: 123,
        status: 'Enabled',
        unreferencedDays: 123,
    },
});

  // Add resource policy statements
const permissions = new iam.PolicyStatement({
    effect: Effect.ALLOW,
    actions: ['s3tables:*'],
    principals: [ new iam.ServicePrincipal('example.awsamazon.com') ],
    resources: ['*']
});

tableBucket.addResourcePolicy(permissions);

Future constructs are planned to be supported incrementally.

Describe any new or updated permissions being added

N/A

Description of how you validated changes

Unit tests for all major code branches and snapshot integration tests have been added

Checklist


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

Loading
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK p1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants