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