Class S3TableStorage

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.glue.alpha.S3TableStorage
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable

@Generated(value="jsii-pacmak/1.139.0 (build 26a6b54)", date="2026-08-27T15:24:50.142Z") @Stability(Experimental) public class S3TableStorage extends software.amazon.jsii.JsiiObject
(experimental) Where an S3Table stores its data.

The two paths are mutually exclusive: a managed bucket may specify its server-side encryption, while an existing bucket keeps its own encryption — so an encryption choice can never be paired with a bring-your-own bucket.

Example:

 Database myDatabase;
 S3Table.Builder.create(this, "MyTable")
         .storage(S3TableStorage.managedBucket(S3TableEncryption.s3Managed()))
         // ...
         .database(myDatabase)
         .columns(List.of(Column.builder()
                 .name("col1")
                 .type(Schema.STRING)
                 .build()))
         .dataFormat(DataFormat.JSON)
         .build();
 
  • Nested Class Summary

    Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject

    software.amazon.jsii.JsiiObject.InitializationMode
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    S3TableStorage(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
     
    protected
    S3TableStorage(software.amazon.jsii.JsiiObjectRef objRef)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    (experimental) Store the table's data in an existing bucket.
    (experimental) Store the table's data in a bucket created and managed by the table.
    (experimental) Store the table's data in a bucket created and managed by the table.

    Methods inherited from class software.amazon.jsii.JsiiObject

    jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface software.amazon.jsii.JsiiSerializable

    $jsii$toJson
  • Constructor Details

    • S3TableStorage

      protected S3TableStorage(software.amazon.jsii.JsiiObjectRef objRef)
    • S3TableStorage

      protected S3TableStorage(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
  • Method Details

    • fromBucket

      @Stability(Experimental) @NotNull public static S3TableStorage fromBucket(@NotNull IBucket bucket)
      (experimental) Store the table's data in an existing bucket. CDK does not manage the bucket's encryption.

      The bucket can be one you don't own, imported with Bucket.fromBucketArn() or Bucket.fromBucketAttributes(). If that bucket is KMS-encrypted, import it with Bucket.fromBucketAttributes() and supply the encryptionKey attribute. Otherwise, CDK has no reference to the key, which means that S3Table.grantRead()/grantWrite() will correctly grant S3 access but silently skip the KMS permissions on the key. As a consequence, at runtime, reads and writes will fail with access denied on the key.

      Parameters:
      bucket - the bucket that holds the table's data. This parameter is required.
    • managedBucket

      @Stability(Experimental) @NotNull public static S3TableStorage managedBucket(@Nullable S3TableEncryption encryption)
      (experimental) Store the table's data in a bucket created and managed by the table.

      Default: - S3-managed (SSE-S3) encryption

      Parameters:
      encryption - the server-side encryption for the created bucket.
    • managedBucket

      @Stability(Experimental) @NotNull public static S3TableStorage managedBucket()
      (experimental) Store the table's data in a bucket created and managed by the table.

      Default: - S3-managed (SSE-S3) encryption