Skip to content
GitHubXDiscord

TableBucket

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

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

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

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

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
});

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

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
});

Set up a TableBucket with encryption for secure data storage.

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"
}
});