TableProps

class aws_cdk.aws_glue.TableProps(*, columns, database, data_format, table_name, bucket=None, compressed=None, description=None, encryption=None, encryption_key=None, partition_indexes=None, partition_keys=None, s3_prefix=None, stored_as_sub_directories=None)

Bases: object

Parameters
  • columns (Sequence[Union[Column, Dict[str, Any]]]) – (experimental) Columns of the table.

  • database (IDatabase) – (experimental) Database in which to store the table.

  • data_format (DataFormat) – (experimental) Storage type of the table’s data.

  • table_name (str) – (experimental) Name of the table.

  • bucket (Optional[IBucket]) – (experimental) S3 bucket in which to store data. Default: one is created for you

  • compressed (Optional[bool]) – (experimental) Indicates whether the table’s data is compressed or not. Default: false

  • description (Optional[str]) – (experimental) Description of the table. Default: generated

  • encryption (Optional[TableEncryption]) – (experimental) The kind of encryption to secure the data with. You can only provide this option if you are not explicitly passing in a bucket. If you choose SSE-KMS, you can provide an un-managed KMS key with encryptionKey. If you choose CSE-KMS, you must provide an un-managed KMS key with encryptionKey. Default: Unencrypted

  • encryption_key (Optional[IKey]) – (experimental) External KMS key to use for bucket encryption. The encryption property must be SSE-KMS or CSE-KMS. Default: key is managed by KMS.

  • partition_indexes (Optional[Sequence[Union[PartitionIndex, Dict[str, Any]]]]) – (experimental) Partition indexes on the table. A maximum of 3 indexes are allowed on a table. Keys in the index must be part of the table’s partition keys. Default: table has no partition indexes

  • partition_keys (Optional[Sequence[Union[Column, Dict[str, Any]]]]) – (experimental) Partition columns of the table. Default: table is not partitioned

  • s3_prefix (Optional[str]) – (experimental) S3 prefix under which table objects are stored. Default: - No prefix. The data will be stored under the root of the bucket.

  • stored_as_sub_directories (Optional[bool]) – (experimental) Indicates whether the table data is stored in subdirectories. Default: false

Stability

experimental

ExampleMetadata

infused

Example:

# my_database: glue.Database

glue.Table(self, "MyTable",
    database=my_database,
    table_name="my_table",
    columns=[glue.Column(
        name="col1",
        type=glue.Schema.STRING
    )],
    partition_keys=[glue.Column(
        name="year",
        type=glue.Schema.SMALL_INT
    ), glue.Column(
        name="month",
        type=glue.Schema.SMALL_INT
    )],
    data_format=glue.DataFormat.JSON
)

Attributes

bucket

(experimental) S3 bucket in which to store data.

Default

one is created for you

Stability

experimental

columns

(experimental) Columns of the table.

Stability

experimental

compressed

(experimental) Indicates whether the table’s data is compressed or not.

Default

false

Stability

experimental

data_format

(experimental) Storage type of the table’s data.

Stability

experimental

database

(experimental) Database in which to store the table.

Stability

experimental

description

(experimental) Description of the table.

Default

generated

Stability

experimental

encryption

(experimental) The kind of encryption to secure the data with.

You can only provide this option if you are not explicitly passing in a bucket.

If you choose SSE-KMS, you can provide an un-managed KMS key with encryptionKey. If you choose CSE-KMS, you must provide an un-managed KMS key with encryptionKey.

Default

Unencrypted

Stability

experimental

encryption_key

(experimental) External KMS key to use for bucket encryption.

The encryption property must be SSE-KMS or CSE-KMS.

Default

key is managed by KMS.

Stability

experimental

partition_indexes

(experimental) Partition indexes on the table.

A maximum of 3 indexes are allowed on a table. Keys in the index must be part of the table’s partition keys.

Default

table has no partition indexes

Stability

experimental

partition_keys

(experimental) Partition columns of the table.

Default

table is not partitioned

Stability

experimental

s3_prefix

(experimental) S3 prefix under which table objects are stored.

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

Stability

experimental

stored_as_sub_directories

(experimental) Indicates whether the table data is stored in subdirectories.

Default

false

Stability

experimental

table_name

(experimental) Name of the table.

Stability

experimental