# PartitionProjectionConfiguration

Factory class for creating partition projection configurations.

- Source: [`aws-glue/lib/partition-projection.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-glue/lib/partition-projection.ts#L277)
- Type last changed: v2.270.0 · 17 Sep 2026

## Example

```ts
declare const myDatabase: glue.Database;
new glue.S3Table(this, 'MyTable', {
  database: myDatabase,
  columns: [{
    name: 'data',
    type: glue.Schema.STRING,
  }],
  partitionKeys: [{
    name: 'date',
    type: glue.Schema.STRING,
  }],
  dataFormat: glue.DataFormat.JSON,
  partitionProjection: {
    date: glue.PartitionProjectionConfiguration.date({
      min: '2020-01-01',
      max: '2023-12-31',
      format: 'yyyy-MM-dd',
      // `step` bundles interval + unit (supply both or neither). Optional at day
      // precision or coarser; required when the format is sub-day (e.g. hours).
      step: { interval: 1, intervalUnit: glue.DateIntervalUnit.DAYS },
    }),
  },
});
```

## Properties

- `type`: [PartitionProjectionType](/cdk/api/v2/docs/aws-cdk-lib.aws_glue.PartitionProjectionType.html) — The type of partition projection.

## Methods

- `date(props: DatePartitionProjectionConfigurationProps): PartitionProjectionConfiguration // chainable` (static) — Create a DATE partition projection configuration.

- `enum(props: EnumPartitionProjectionConfigurationProps): PartitionProjectionConfiguration // chainable` (static) — Create an ENUM partition projection configuration.

- `injected(): PartitionProjectionConfiguration // chainable` (static) — Create an INJECTED partition projection configuration.

  Partition values are injected at query time through the query statement.

- `integer(props: IntegerPartitionProjectionConfigurationProps): PartitionProjectionConfiguration // chainable` (static) — Create an INTEGER partition projection configuration.
