Class: AWSCDK::KinesisFirehose::CfnDeliveryStream::DataFormatConversionConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
kinesis_firehose/cfn_delivery_stream.rb

Overview

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 .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(enabled: nil, input_format_configuration: nil, output_format_configuration: nil, schema_configuration: nil) ⇒ DataFormatConversionConfigurationProperty

Returns a new instance of DataFormatConversionConfigurationProperty.

Parameters:



1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1501

def initialize(enabled: nil, input_format_configuration: nil, output_format_configuration: nil, schema_configuration: nil)
  @enabled = enabled
  Jsii::Type.check_type(@enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enabled") unless @enabled.nil?
  @input_format_configuration = input_format_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::InputFormatConfigurationProperty.new(**input_format_configuration.transform_keys(&:to_sym)) : input_format_configuration
  Jsii::Type.check_type(@input_format_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uSW5wdXRGb3JtYXRDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "inputFormatConfiguration") unless @input_format_configuration.nil?
  @output_format_configuration = output_format_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::OutputFormatConfigurationProperty.new(**output_format_configuration.transform_keys(&:to_sym)) : output_format_configuration
  Jsii::Type.check_type(@output_format_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uT3V0cHV0Rm9ybWF0Q29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "outputFormatConfiguration") unless @output_format_configuration.nil?
  @schema_configuration = schema_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::SchemaConfigurationProperty.new(**schema_configuration.transform_keys(&:to_sym)) : schema_configuration
  Jsii::Type.check_type(@schema_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uU2NoZW1hQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "schemaConfiguration") unless @schema_configuration.nil?
end

Instance Attribute Details

#enabledBoolean, ... (readonly)

Defaults to true .

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



1518
1519
1520
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1518

def enabled
  @enabled
end

#input_format_configurationAWSCDK::IResolvable, ... (readonly)

Specifies the deserializer that you want Firehose to use to convert the format of your data from JSON.

This parameter is required if Enabled is set to true.



1525
1526
1527
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1525

def input_format_configuration
  @input_format_configuration
end

#output_format_configurationAWSCDK::IResolvable, ... (readonly)

Specifies the serializer that you want 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.



1532
1533
1534
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1532

def output_format_configuration
  @output_format_configuration
end

#schema_configurationAWSCDK::IResolvable, ... (readonly)

Specifies the AWS Glue Data Catalog table that contains the column information.

This parameter is required if Enabled is set to true.



1539
1540
1541
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1539

def schema_configuration
  @schema_configuration
end

Class Method Details

.jsii_propertiesObject



1541
1542
1543
1544
1545
1546
1547
1548
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1541

def self.jsii_properties
  {
    :enabled => "enabled",
    :input_format_configuration => "inputFormatConfiguration",
    :output_format_configuration => "outputFormatConfiguration",
    :schema_configuration => "schemaConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 1550

def to_jsii
  result = {}
  result.merge!({
    "enabled" => @enabled,
    "inputFormatConfiguration" => @input_format_configuration,
    "outputFormatConfiguration" => @output_format_configuration,
    "schemaConfiguration" => @schema_configuration,
  })
  result.compact
end