Class: AWSCDK::KinesisFirehose::S3BucketProps
- Inherits:
-
CommonDestinationS3Props
- Object
- CommonDestinationS3Props
- AWSCDK::KinesisFirehose::S3BucketProps
- Defined in:
- kinesis_firehose/s3_bucket_props.rb
Overview
Props for defining an S3 destination of an Amazon Data Firehose delivery stream.
Instance Attribute Summary collapse
-
#buffering_interval ⇒ AWSCDK::Duration?
readonly
The length of time that Firehose buffers incoming data before delivering it to the S3 bucket.
-
#buffering_size ⇒ AWSCDK::Size?
readonly
The size of the buffer that Amazon Data Firehose uses for incoming data before delivering it to the S3 bucket.
-
#compression ⇒ AWSCDK::KinesisFirehose::Compression?
readonly
The type of compression that Amazon Data Firehose uses to compress the data that it delivers to the Amazon S3 bucket.
-
#data_format_conversion ⇒ AWSCDK::KinesisFirehose::DataFormatConversionProps?
readonly
The input format, output format, and schema config for converting data from the JSON format to the Parquet or ORC format before writing to Amazon S3.
-
#data_output_prefix ⇒ String?
readonly
A prefix that Amazon Data Firehose evaluates and adds to records before writing them to S3.
-
#dynamic_partitioning ⇒ AWSCDK::KinesisFirehose::DynamicPartitioningProps?
readonly
Specify dynamic partitioning.
-
#encryption_key ⇒ AWSCDK::KMS::IKey?
readonly
The AWS KMS key used to encrypt the data that it delivers to your Amazon S3 bucket.
-
#error_output_prefix ⇒ String?
readonly
A prefix that Amazon Data Firehose evaluates and adds to failed records before writing them to S3.
-
#file_extension ⇒ String?
readonly
Specify a file extension.
-
#logging_config ⇒ AWSCDK::KinesisFirehose::ILoggingConfig?
readonly
Configuration that determines whether to log errors during data transformation or delivery failures, and specifies the CloudWatch log group for storing error logs.
-
#processor ⇒ AWSCDK::KinesisFirehose::IDataProcessor?
readonly
deprecated
Deprecated.
Use
processorsinstead. -
#processors ⇒ Array<AWSCDK::KinesisFirehose::IDataProcessor>?
readonly
The data transformation that should be performed on the data before writing to the destination.
-
#role ⇒ AWSCDK::IAM::IRole?
readonly
The IAM role associated with this destination.
-
#s3_backup ⇒ AWSCDK::KinesisFirehose::DestinationS3BackupProps?
readonly
The configuration for backing up source records to S3.
-
#time_zone ⇒ AWSCDK::TimeZone?
readonly
The time zone you prefer.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(buffering_interval: nil, buffering_size: nil, compression: nil, data_output_prefix: nil, encryption_key: nil, error_output_prefix: nil, logging_config: nil, processor: nil, processors: nil, role: nil, s3_backup: nil, data_format_conversion: nil, dynamic_partitioning: nil, file_extension: nil, time_zone: nil) ⇒ S3BucketProps
constructor
A new instance of S3BucketProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(buffering_interval: nil, buffering_size: nil, compression: nil, data_output_prefix: nil, encryption_key: nil, error_output_prefix: nil, logging_config: nil, processor: nil, processors: nil, role: nil, s3_backup: nil, data_format_conversion: nil, dynamic_partitioning: nil, file_extension: nil, time_zone: nil) ⇒ S3BucketProps
Returns a new instance of S3BucketProps.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 23 def initialize(buffering_interval: nil, buffering_size: nil, compression: nil, data_output_prefix: nil, encryption_key: nil, error_output_prefix: nil, logging_config: nil, processor: nil, processors: nil, role: nil, s3_backup: nil, data_format_conversion: nil, dynamic_partitioning: nil, file_extension: nil, time_zone: nil) @buffering_interval = buffering_interval Jsii::Type.check_type(@buffering_interval, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "bufferingInterval") unless @buffering_interval.nil? @buffering_size = buffering_size Jsii::Type.check_type(@buffering_size, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5TaXplIn0=")), "bufferingSize") unless @buffering_size.nil? @compression = compression Jsii::Type.check_type(@compression, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa2luZXNpc2ZpcmVob3NlLkNvbXByZXNzaW9uIn0=")), "compression") unless @compression.nil? @data_output_prefix = data_output_prefix Jsii::Type.check_type(@data_output_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dataOutputPrefix") unless @data_output_prefix.nil? @encryption_key = encryption_key Jsii::Type.check_type(@encryption_key, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa21zLklLZXkifQ==")), "encryptionKey") unless @encryption_key.nil? @error_output_prefix = error_output_prefix Jsii::Type.check_type(@error_output_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "errorOutputPrefix") unless @error_output_prefix.nil? @logging_config = logging_config Jsii::Type.check_type(@logging_config, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa2luZXNpc2ZpcmVob3NlLklMb2dnaW5nQ29uZmlnIn0=")), "loggingConfig") unless @logging_config.nil? @processor = processor Jsii::Type.check_type(@processor, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa2luZXNpc2ZpcmVob3NlLklEYXRhUHJvY2Vzc29yIn0=")), "processor") unless @processor.nil? @processors = processors Jsii::Type.check_type(@processors, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuSURhdGFQcm9jZXNzb3IifSwia2luZCI6ImFycmF5In19")), "processors") unless @processors.nil? @role = role Jsii::Type.check_type(@role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSb2xlIn0=")), "role") unless @role.nil? @s3_backup = s3_backup.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::DestinationS3BackupProps.new(**s3_backup.transform_keys(&:to_sym)) : s3_backup Jsii::Type.check_type(@s3_backup, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa2luZXNpc2ZpcmVob3NlLkRlc3RpbmF0aW9uUzNCYWNrdXBQcm9wcyJ9")), "s3Backup") unless @s3_backup.nil? @data_format_conversion = data_format_conversion.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::DataFormatConversionProps.new(**data_format_conversion.transform_keys(&:to_sym)) : data_format_conversion Jsii::Type.check_type(@data_format_conversion, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa2luZXNpc2ZpcmVob3NlLkRhdGFGb3JtYXRDb252ZXJzaW9uUHJvcHMifQ==")), "dataFormatConversion") unless @data_format_conversion.nil? @dynamic_partitioning = dynamic_partitioning.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::DynamicPartitioningProps.new(**dynamic_partitioning.transform_keys(&:to_sym)) : dynamic_partitioning Jsii::Type.check_type(@dynamic_partitioning, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa2luZXNpc2ZpcmVob3NlLkR5bmFtaWNQYXJ0aXRpb25pbmdQcm9wcyJ9")), "dynamicPartitioning") unless @dynamic_partitioning.nil? @file_extension = file_extension Jsii::Type.check_type(@file_extension, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileExtension") unless @file_extension.nil? @time_zone = time_zone Jsii::Type.check_type(@time_zone, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5UaW1lWm9uZSJ9")), "timeZone") unless @time_zone.nil? end |
Instance Attribute Details
#buffering_interval ⇒ AWSCDK::Duration? (readonly)
Default: Duration.seconds(300)
The length of time that Firehose buffers incoming data before delivering it to the S3 bucket.
Minimum: Duration.seconds(0) when dynamic partitioning is disabled, Duration.seconds(60) when it is enabled Maximum: Duration.seconds(900)
63 64 65 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 63 def buffering_interval @buffering_interval end |
#buffering_size ⇒ AWSCDK::Size? (readonly)
Default: Size.mebibytes(5) when record data format conversion or dynamic partitioning is disabled, Size.mebibytes(128) when it is enabled
The size of the buffer that Amazon Data Firehose uses for incoming data before delivering it to the S3 bucket.
Minimum: Size.mebibytes(1) when record data format conversion or dynamic partitioning is disabled, Size.mebibytes(64) when it is enabled Maximum: Size.mebibytes(128)
71 72 73 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 71 def buffering_size @buffering_size end |
#compression ⇒ AWSCDK::KinesisFirehose::Compression? (readonly)
Default: - UNCOMPRESSED
The type of compression that Amazon Data Firehose uses to compress the data that it delivers to the Amazon S3 bucket.
The compression formats SNAPPY or ZIP cannot be specified for Amazon Redshift destinations because they are not supported by the Amazon Redshift COPY operation that reads from the S3 bucket.
80 81 82 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 80 def compression @compression end |
#data_format_conversion ⇒ AWSCDK::KinesisFirehose::DataFormatConversionProps? (readonly)
Default: - no data format conversion is done
The input format, output format, and schema config for converting data from the JSON format to the Parquet or ORC format before writing to Amazon S3.
135 136 137 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 135 def data_format_conversion @data_format_conversion end |
#data_output_prefix ⇒ String? (readonly)
Default: - "YYYY/MM/DD/HH/"
A prefix that Amazon Data Firehose evaluates and adds to records before writing them to S3.
This prefix appears immediately following the bucket name.
88 89 90 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 88 def data_output_prefix @data_output_prefix end |
#dynamic_partitioning ⇒ AWSCDK::KinesisFirehose::DynamicPartitioningProps? (readonly)
Default: - Dynamic partitioning is disabled.
Specify dynamic partitioning.
141 142 143 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 141 def dynamic_partitioning @dynamic_partitioning end |
#encryption_key ⇒ AWSCDK::KMS::IKey? (readonly)
Default: - Data is not encrypted.
The AWS KMS key used to encrypt the data that it delivers to your Amazon S3 bucket.
93 94 95 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 93 def encryption_key @encryption_key end |
#error_output_prefix ⇒ String? (readonly)
Default: - See the documentation above
A prefix that Amazon Data Firehose evaluates and adds to failed records before writing them to S3.
This prefix appears immediately following the bucket name.
101 102 103 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 101 def error_output_prefix @error_output_prefix end |
#file_extension ⇒ String? (readonly)
Default: - The default file extension appended by Data Format Conversion or S3 compression features
Specify a file extension.
It will override the default file extension appended by Data Format Conversion or S3 compression features such as .parquet or .gz.
File extension must start with a period (.) and can contain allowed characters: 0-9a-z!-_.*'().
151 152 153 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 151 def file_extension @file_extension end |
#logging_config ⇒ AWSCDK::KinesisFirehose::ILoggingConfig? (readonly)
Default: - errors will be logged and a log group will be created for you.
Configuration that determines whether to log errors during data transformation or delivery failures, and specifies the CloudWatch log group for storing error logs.
106 107 108 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 106 def logging_config @logging_config end |
#processor ⇒ AWSCDK::KinesisFirehose::IDataProcessor? (readonly)
Use processors instead.
Default: - no data transformation will occur.
The data transformation that should be performed on the data before writing to the destination.
112 113 114 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 112 def processor @processor end |
#processors ⇒ Array<AWSCDK::KinesisFirehose::IDataProcessor>? (readonly)
Default: - no data transformation will occur.
The data transformation that should be performed on the data before writing to the destination.
117 118 119 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 117 def processors @processors end |
#role ⇒ AWSCDK::IAM::IRole? (readonly)
Default: - a role will be created with default permissions.
The IAM role associated with this destination.
Assumed by Amazon Data Firehose to invoke processors and write to destinations
124 125 126 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 124 def role @role end |
#s3_backup ⇒ AWSCDK::KinesisFirehose::DestinationS3BackupProps? (readonly)
Default: - source records will not be backed up to S3.
The configuration for backing up source records to S3.
129 130 131 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 129 def s3_backup @s3_backup end |
#time_zone ⇒ AWSCDK::TimeZone? (readonly)
Default: - UTC
The time zone you prefer.
157 158 159 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 157 def time_zone @time_zone end |
Class Method Details
.jsii_properties ⇒ Object
159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 159 def self.jsii_properties { :buffering_interval => "bufferingInterval", :buffering_size => "bufferingSize", :compression => "compression", :data_output_prefix => "dataOutputPrefix", :encryption_key => "encryptionKey", :error_output_prefix => "errorOutputPrefix", :logging_config => "loggingConfig", :processor => "processor", :processors => "processors", :role => "role", :s3_backup => "s3Backup", :data_format_conversion => "dataFormatConversion", :dynamic_partitioning => "dynamicPartitioning", :file_extension => "fileExtension", :time_zone => "timeZone", } end |
Instance Method Details
#to_jsii ⇒ Object
179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 |
# File 'kinesis_firehose/s3_bucket_props.rb', line 179 def to_jsii result = {} result.merge!(super) result.merge!({ "bufferingInterval" => @buffering_interval, "bufferingSize" => @buffering_size, "compression" => @compression, "dataOutputPrefix" => @data_output_prefix, "encryptionKey" => @encryption_key, "errorOutputPrefix" => @error_output_prefix, "loggingConfig" => @logging_config, "processor" => @processor, "processors" => @processors, "role" => @role, "s3Backup" => @s3_backup, "dataFormatConversion" => @data_format_conversion, "dynamicPartitioning" => @dynamic_partitioning, "fileExtension" => @file_extension, "timeZone" => @time_zone, }) result.compact end |