Class ExternalTable

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

@Generated(value="jsii-pacmak/1.139.0 (build 26a6b54)", date="2026-09-17T14:54:05.044Z") @Stability(Stable) public class ExternalTable extends TableBase
A Glue table that targets an external data location (e.g. A table in a Redshift Cluster).

Example:

 Connection myConnection;
 Database myDatabase;
 ExternalTable.Builder.create(this, "MyTable")
         .connection(myConnection)
         .externalDataLocation("default_db_public_example") // A table in Redshift
         // ...
         .database(myDatabase)
         .columns(List.of(Column.builder()
                 .name("col1")
                 .type(Schema.STRING)
                 .build()))
         .dataFormat(DataFormat.JSON)
         .build();
 
  • Field Details

    • PROPERTY_INJECTION_ID

      @Stability(Stable) public static final String PROPERTY_INJECTION_ID
      Uniquely identifies this class.
  • Constructor Details

    • ExternalTable

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

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

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

    • grantRead

      @Stability(Stable) @NotNull public Grant grantRead(@NotNull IGrantable grantee)
      Grant read permissions to the table [disable-awslint:no-grants].

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

      @Stability(Stable) @NotNull public Grant grantReadWrite(@NotNull IGrantable grantee)
      Grant read and write permissions to the table [disable-awslint:no-grants].

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

      @Stability(Stable) @NotNull public Grant grantWrite(@NotNull IGrantable grantee)
      Grant write permissions to the table [disable-awslint:no-grants].

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

      @Stability(Stable) @NotNull public IConnection getConnection()
      The connection associated to this table.
    • getTableArn

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

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

      @Stability(Stable) @NotNull protected CfnTable getTableResource()
      Specified by:
      getTableResource in class TableBase
    • getPartitionIndexes

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