Skip to content

TableBucket ​

The TableBucket resource allows you to manage AWS S3Tables TableBuckets for storing and retrieving structured data in Amazon S3.

Minimal Example ​

Create a basic TableBucket with a specified name and default settings.

ts
import AWS from "alchemy/aws/control";

const basicTableBucket = await AWS.S3Tables.TableBucket("basicTableBucket", {
  TableBucketName: "my-data-bucket",
  EncryptionConfiguration: {
    EncryptionType: "AES256"
  }
});

Advanced Configuration ​

Configure a TableBucket with advanced settings, including unreferenced file removal policies.

ts
const advancedTableBucket = await AWS.S3Tables.TableBucket("advancedTableBucket", {
  TableBucketName: "my-advanced-data-bucket",
  EncryptionConfiguration: {
    EncryptionType: "aws:kms",
    KmsKeyId: "arn:aws:kms:us-west-2:123456789012:key/abcd1234-a123-456a-a12b-a123b4cd56ef"
  },
  UnreferencedFileRemoval: {
    RemovalPolicy: "Delete",
    RemovalInterval: 30 // days
  },
  adopt: true // Adopt an existing TableBucket if it already exists
});

File Management Use Case ​

Create a TableBucket that adopts an existing resource and specifies file management settings.

ts
const fileManagementTableBucket = await AWS.S3Tables.TableBucket("fileManagementTableBucket", {
  TableBucketName: "my-file-management-bucket",
  UnreferencedFileRemoval: {
    RemovalPolicy: "Retain",
    RemovalInterval: 60 // days
  },
  adopt: true // Adopt existing resource instead of failing
});

Secure Data Storage Example ​

Set up a TableBucket with encryption for secure data storage.

ts
const secureDataTableBucket = await AWS.S3Tables.TableBucket("secureDataTableBucket", {
  TableBucketName: "my-secure-data-bucket",
  EncryptionConfiguration: {
    EncryptionType: "aws:kms",
    KmsKeyId: "arn:aws:kms:us-east-1:123456789012:key/abcd5678-a123-456a-a12b-a123b4cd56ef"
  }
});