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