Interface CfnDeliveryStream.DataFormatConversionConfigurationProperty

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnDeliveryStream.DataFormatConversionConfigurationProperty.Jsii$Proxy
Enclosing class:
CfnDeliveryStream

@Stability(Stable) public static interface CfnDeliveryStream.DataFormatConversionConfigurationProperty extends software.amazon.jsii.JsiiSerializable
Specifies that you want Kinesis Data Firehose to convert data from the JSON format to the Parquet or ORC format before writing it to Amazon S3.

Kinesis Data Firehose uses the serializer and deserializer that you specify, in addition to the column information from the AWS Glue table, to deserialize your input data from JSON and then serialize it to the Parquet or ORC format. For more information, see Kinesis Data Firehose Record Format Conversion .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.kinesisfirehose.*;
 DataFormatConversionConfigurationProperty dataFormatConversionConfigurationProperty = DataFormatConversionConfigurationProperty.builder()
         .enabled(false)
         .inputFormatConfiguration(InputFormatConfigurationProperty.builder()
                 .deserializer(DeserializerProperty.builder()
                         .hiveJsonSerDe(HiveJsonSerDeProperty.builder()
                                 .timestampFormats(List.of("timestampFormats"))
                                 .build())
                         .openXJsonSerDe(OpenXJsonSerDeProperty.builder()
                                 .caseInsensitive(false)
                                 .columnToJsonKeyMappings(Map.of(
                                         "columnToJsonKeyMappingsKey", "columnToJsonKeyMappings"))
                                 .convertDotsInJsonKeysToUnderscores(false)
                                 .build())
                         .build())
                 .build())
         .outputFormatConfiguration(OutputFormatConfigurationProperty.builder()
                 .serializer(SerializerProperty.builder()
                         .orcSerDe(OrcSerDeProperty.builder()
                                 .blockSizeBytes(123)
                                 .bloomFilterColumns(List.of("bloomFilterColumns"))
                                 .bloomFilterFalsePositiveProbability(123)
                                 .compression("compression")
                                 .dictionaryKeyThreshold(123)
                                 .enablePadding(false)
                                 .formatVersion("formatVersion")
                                 .paddingTolerance(123)
                                 .rowIndexStride(123)
                                 .stripeSizeBytes(123)
                                 .build())
                         .parquetSerDe(ParquetSerDeProperty.builder()
                                 .blockSizeBytes(123)
                                 .compression("compression")
                                 .enableDictionaryCompression(false)
                                 .maxPaddingBytes(123)
                                 .pageSizeBytes(123)
                                 .writerVersion("writerVersion")
                                 .build())
                         .build())
                 .build())
         .schemaConfiguration(SchemaConfigurationProperty.builder()
                 .catalogId("catalogId")
                 .databaseName("databaseName")
                 .region("region")
                 .roleArn("roleArn")
                 .tableName("tableName")
                 .versionId("versionId")
                 .build())
         .build();
 
  • Method Details

    • getEnabled

      @Stability(Stable) @Nullable default Object getEnabled()
      Defaults to true .

      Set it to false if you want to disable format conversion while preserving the configuration details.

    • getInputFormatConfiguration

      @Stability(Stable) @Nullable default Object getInputFormatConfiguration()
      Specifies the deserializer that you want Kinesis Data Firehose to use to convert the format of your data from JSON.

      This parameter is required if Enabled is set to true.

    • getOutputFormatConfiguration

      @Stability(Stable) @Nullable default Object getOutputFormatConfiguration()
      Specifies the serializer that you want Kinesis Data Firehose to use to convert the format of your data to the Parquet or ORC format.

      This parameter is required if Enabled is set to true.

    • getSchemaConfiguration

      @Stability(Stable) @Nullable default Object getSchemaConfiguration()
      Specifies the AWS Glue Data Catalog table that contains the column information.

      This parameter is required if Enabled is set to true.

    • builder

      Returns:
      a CfnDeliveryStream.DataFormatConversionConfigurationProperty.Builder of CfnDeliveryStream.DataFormatConversionConfigurationProperty