Interface S3TableProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable, TableBaseProps
All Known Implementing Classes:
S3TableProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.139.0 (build 26a6b54)", date="2026-08-27T15:24:50.142Z") @Stability(Experimental) public interface S3TableProps extends software.amazon.jsii.JsiiSerializable, TableBaseProps
Example:

 Database myDatabase;
 S3Table.Builder.create(this, "MyTable")
         .database(myDatabase)
         .columns(List.of(Column.builder()
                 .name("data")
                 .type(Schema.STRING)
                 .build()))
         .partitionKeys(List.of(Column.builder()
                 .name("date")
                 .type(Schema.STRING)
                 .build()))
         .dataFormat(DataFormat.JSON)
         .partitionProjection(Map.of(
                 "date", PartitionProjectionConfiguration.date(DatePartitionProjectionConfigurationProps.builder()
                         .min("2020-01-01")
                         .max("2023-12-31")
                         .format("yyyy-MM-dd")
                         .interval(1) // optional, defaults to 1
                         .intervalUnit(DateIntervalUnit.DAYS)
                         .build())))
         .build();
 
  • Method Details

    • getClientSideEncryption

      @Stability(Experimental) @Nullable default TableClientSideEncryption getClientSideEncryption()
      (experimental) Client-side encryption (CSE-KMS) for the table's data.

      Independent of the bucket's server-side encryption, and valid whether the bucket is managed or provided.

      Default: - no client-side encryption

    • getS3Prefix

      @Stability(Experimental) @Nullable default String getS3Prefix()
      (experimental) S3 prefix under which table objects are stored.

      When the table shares a bucket with other tables or consumers, set this so that the grant* methods scope S3 access to this table's data. Without a prefix, those grants cover the entire bucket.

      Default: - No prefix. The data will be stored under the root of the bucket.

    • getStorage

      @Stability(Experimental) @Nullable default S3TableStorage getStorage()
      (experimental) Where the table's data is stored: a bucket created and managed by the table, or an existing bucket you provide.

      Default: - a managed bucket with S3-managed (SSE-S3) encryption

    • builder

      @Stability(Experimental) static S3TableProps.Builder builder()
      Returns:
      a S3TableProps.Builder of S3TableProps