Interface DatePartitionProjectionConfigurationProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
DatePartitionProjectionConfigurationProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.139.0 (build 26a6b54)", date="2026-09-02T11:03:36.184Z") @Stability(Experimental) public interface DatePartitionProjectionConfigurationProps extends software.amazon.jsii.JsiiSerializable
(experimental) Properties for DATE partition projection configuration.

Example:

 Database myDatabase;
 S3Table.Builder.create(this, "MyTable")
         .database(myDatabase)
         .columns(List.of(Column.builder()
                 .name("data")
                 .type(Schema.STRING)
                 .build()))
         .partitionKeys(List.of(Column.builder()
                 .name("date")
                 .type(Schema.STRING)
                 .build()))
         .dataFormat(DataFormat.JSON)
         .partitionProjection(Map.of(
                 "date", PartitionProjectionConfiguration.date(DatePartitionProjectionConfigurationProps.builder()
                         .min("2020-01-01")
                         .max("2023-12-31")
                         .format("yyyy-MM-dd")
                         .interval(1) // optional, defaults to 1
                         .intervalUnit(DateIntervalUnit.DAYS)
                         .build())))
         .build();
 
  • Method Details

    • getFormat

      @Stability(Experimental) @NotNull String getFormat()
      (experimental) Date format for partition values.

      Uses Java SimpleDateFormat patterns.

      See Also:
    • getMax

      @Stability(Experimental) @NotNull String getMax()
      (experimental) End date for the partition range (inclusive).

      Can be either:

      • Fixed date in the format specified by format property
      • Relative date using NOW syntax

      Same format constraints as min.

    • getMin

      @Stability(Experimental) @NotNull String getMin()
      (experimental) Start date for the partition range (inclusive).

      Can be either:

      • Fixed date in the format specified by format property (e.g., '2020-01-01' for format 'yyyy-MM-dd')
      • Relative date using NOW syntax (e.g., 'NOW', 'NOW-3YEARS', 'NOW+1MONTH')

      See Also:
    • getInterval

      @Stability(Experimental) @Nullable default Number getInterval()
      (experimental) Interval between partition values.

      Required (together with intervalUnit) when format carries sub-day precision — i.e. a field finer than a day, such as hours or AM/PM. At day or coarser precision Athena defaults the step, so it is optional.

      Default: - Athena's default step for the format's precision; required when `format` is sub-day precision

    • getIntervalUnit

      @Stability(Experimental) @Nullable default DateIntervalUnit getIntervalUnit()
      (experimental) Unit for the interval.

      Required (together with interval) when format carries sub-day precision — i.e. a field finer than a day, such as hours or AM/PM. At day or coarser precision Athena defaults the step, so it is optional.

      Default: - Athena's default unit for the format's precision; required when `format` is sub-day precision

    • builder

      @Stability(Experimental) static DatePartitionProjectionConfigurationProps.Builder builder()
      Returns:
      a DatePartitionProjectionConfigurationProps.Builder of DatePartitionProjectionConfigurationProps