java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IResource, ITable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable
Direct Known Subclasses:
Table

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-10-31T19:13:07.918Z") @Stability(Experimental) public class S3Table extends TableBase
(experimental) A Glue table that targets a S3 dataset.

Example:

 Database myDatabase;
 S3Table.Builder.create(this, "MyTable")
         .database(myDatabase)
         .columns(List.of(Column.builder()
                 .name("col1")
                 .type(Schema.STRING)
                 .build()))
         .partitionKeys(List.of(Column.builder()
                 .name("year")
                 .type(Schema.SMALL_INT)
                 .build(), Column.builder()
                 .name("month")
                 .type(Schema.SMALL_INT)
                 .build()))
         .dataFormat(DataFormat.JSON)
         .enablePartitionFiltering(true)
         .build();
 
  • Constructor Details

    • S3Table

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

      protected S3Table(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • S3Table

      @Stability(Experimental) public S3Table(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull S3TableProps props)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      props - This parameter is required.
  • Method Details

    • generateS3PrefixForGrant

      @Stability(Experimental) @NotNull protected String generateS3PrefixForGrant()
    • grantRead

      @Stability(Experimental) @NotNull public Grant grantRead(@NotNull IGrantable grantee)
      (experimental) Grant read permissions to the table and the underlying data stored in S3 to an IAM principal.

      Specified by:
      grantRead in class TableBase
      Parameters:
      grantee - the principal. This parameter is required.
    • grantReadWrite

      @Stability(Experimental) @NotNull public Grant grantReadWrite(@NotNull IGrantable grantee)
      (experimental) Grant read and write permissions to the table and the underlying data stored in S3 to an IAM principal.

      Specified by:
      grantReadWrite in class TableBase
      Parameters:
      grantee - the principal. This parameter is required.
    • grantWrite

      @Stability(Experimental) @NotNull public Grant grantWrite(@NotNull IGrantable grantee)
      (experimental) Grant write permissions to the table and the underlying data stored in S3 to an IAM principal.

      Specified by:
      grantWrite in class TableBase
      Parameters:
      grantee - the principal. This parameter is required.
    • getBucket

      @Stability(Experimental) @NotNull public IBucket getBucket()
      (experimental) S3 bucket in which the table's data resides.
    • getEncryption

      @Stability(Experimental) @NotNull public TableEncryption getEncryption()
      (experimental) The type of encryption enabled for the table.
    • getS3Prefix

      @Stability(Experimental) @NotNull public String getS3Prefix()
      (experimental) S3 Key Prefix under which this table's files are stored in S3.
    • getTableArn

      @Stability(Experimental) @NotNull public String getTableArn()
      (experimental) ARN of this table.
      Specified by:
      getTableArn in interface ITable
      Specified by:
      getTableArn in class TableBase
    • getTableName

      @Stability(Experimental) @NotNull public String getTableName()
      (experimental) Name of this table.
      Specified by:
      getTableName in interface ITable
      Specified by:
      getTableName in class TableBase
    • getTableResource

      @Stability(Experimental) @NotNull protected CfnTable getTableResource()
      Specified by:
      getTableResource in class TableBase
    • getEncryptionKey

      @Stability(Experimental) @Nullable public IKey getEncryptionKey()
      (experimental) The KMS key used to secure the data if encryption is set to CSE-KMS or SSE-KMS.

      Otherwise, undefined.

    • getPartitionIndexes

      @Stability(Experimental) @Nullable public List<PartitionIndex> getPartitionIndexes()
      (experimental) This table's partition indexes.
      Specified by:
      getPartitionIndexes in class TableBase