java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.Resource
software.amazon.awscdk.services.glue.alpha.TableBase
All Implemented Interfaces:
IEnvironmentAware, IResource, ITable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable
Direct Known Subclasses:
ExternalTable, S3Table

@Generated(value="jsii-pacmak/1.139.0 (build 26a6b54)", date="2026-08-13T16:20:30.730Z") @Stability(Experimental) public abstract class TableBase extends Resource implements ITable
(experimental) A Glue table.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.glue.alpha.*;
 ITable tableBase = TableBase.fromTableArn(this, "MyTableBase", "tableArn");
 
  • Constructor Details

    • TableBase

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

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

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

    • fromTableArn

      @Stability(Experimental) @NotNull public static ITable fromTableArn(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String tableArn)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      tableArn - This parameter is required.
    • fromTableAttributes

      @Stability(Experimental) @NotNull public static ITable fromTableAttributes(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull TableAttributes attrs)
      (experimental) Creates a Table construct that represents an external table.

      Parameters:
      scope - The scope creating construct (usually this). This parameter is required.
      id - The construct's id. This parameter is required.
      attrs - Import attributes. This parameter is required.
    • addPartitionIndex

      @Stability(Experimental) public void addPartitionIndex(@NotNull PartitionIndex index)
      (experimental) Add a partition index to the table.

      You can have a maximum of 3 partition indexes to a table. Partition index keys must be a subset of the table's partition keys.

      Parameters:
      index - This parameter is required.
      See Also:
    • grant

      @Stability(Experimental) @NotNull public Grant grant(@NotNull IGrantable grantee, @NotNull List<String> actions)
      (experimental) Grant the given identity custom permissions on this table.

      This is a low-level escape hatch: the actions are applied verbatim, scoped to this table's ARN. Prefer the intent-based grantRead / grantWrite / grantReadWrite methods, which grant a curated set of actions and also cover the underlying S3 data. Only pass the specific actions the grantee needs - avoid service wildcards such as glue:*. [disable-awslint:no-grants]

      Parameters:
      grantee - the principal. This parameter is required.
      actions - the set of Glue actions to allow (for example glue:GetTable). This parameter is required.
    • grantRead

      @Stability(Experimental) @NotNull public abstract Grant grantRead(@NotNull IGrantable grantee)
      Parameters:
      grantee - This parameter is required.
    • grantReadWrite

      @Stability(Experimental) @NotNull public abstract Grant grantReadWrite(@NotNull IGrantable grantee)
      Parameters:
      grantee - This parameter is required.
    • grantToUnderlyingResources

      @Stability(Experimental) @NotNull public Grant grantToUnderlyingResources(@NotNull IGrantable grantee, @NotNull List<String> actions)
      (experimental) Grant the given identity custom permissions on this table AND its parent catalog and database.

      This is a low-level escape hatch for actions (such as certain Lake Formation or crawler operations) that must be authorized against the catalog and database in addition to the table. The actions are applied verbatim to all three ARNs (table, catalog, database), so scope them tightly: pass only the specific actions the grantee needs and avoid service wildcards such as glue:*, which would grant broad access across every resource in the catalog and database. [disable-awslint:no-grants]

      Parameters:
      grantee - the principal. This parameter is required.
      actions - the set of Glue actions to allow (for example glue:GetTable). This parameter is required.
    • grantWrite

      @Stability(Experimental) @NotNull public abstract Grant grantWrite(@NotNull IGrantable grantee)
      Parameters:
      grantee - This parameter is required.
    • getColumns

      @Stability(Experimental) @NotNull public List<Column> getColumns()
      (experimental) This table's columns.
    • getCompressed

      @Stability(Experimental) @NotNull public Boolean getCompressed()
      (experimental) Indicates whether the table's data is compressed or not.
    • getDatabase

      @Stability(Experimental) @NotNull public IDatabase getDatabase()
      (experimental) Database this table belongs to.
    • getDataFormat

      @Stability(Experimental) @NotNull public DataFormat getDataFormat()
      (experimental) Format of this table's data files.
    • getParameters

      @Stability(Experimental) @NotNull protected Map<String,String> getParameters()
      (experimental) The tables' properties associated with the table.

      See Also:
    • getTableArn

      @Stability(Experimental) @NotNull public abstract String getTableArn()
      Specified by:
      getTableArn in interface ITable
    • getTableName

      @Stability(Experimental) @NotNull public abstract String getTableName()
      Specified by:
      getTableName in interface ITable
    • getTableResource

      @Stability(Experimental) @NotNull protected abstract CfnTable getTableResource()
    • getPartitionIndexes

      @Stability(Experimental) @Nullable public abstract List<PartitionIndex> getPartitionIndexes()
    • getPartitionKeys

      @Stability(Experimental) @Nullable public List<Column> getPartitionKeys()
      (experimental) This table's partition keys if the table is partitioned.
    • getPartitionProjection

      @Stability(Experimental) @Nullable public Map<String,PartitionProjectionConfiguration> getPartitionProjection()
      (experimental) This table's partition projection configuration if enabled.
    • getStorageParameters

      @Stability(Experimental) @Nullable public List<StorageParameter> getStorageParameters()
      (experimental) The tables' storage descriptor properties.