Class: AWSCDK::AppFlow::CfnFlow::S3OutputFormatConfigProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
app_flow/cfn_flow.rb

Overview

The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(aggregation_config: nil, file_type: nil, prefix_config: nil, preserve_source_data_typing: nil) ⇒ S3OutputFormatConfigProperty

Returns a new instance of S3OutputFormatConfigProperty.

Parameters:

  • aggregation_config (AWSCDK::IResolvable, AWSCDK::AppFlow::CfnFlow::AggregationConfigProperty, nil) (defaults to: nil)

    The aggregation settings that you can use to customize the output format of your flow data.

  • file_type (String, nil) (defaults to: nil)

    Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket.

  • prefix_config (AWSCDK::IResolvable, AWSCDK::AppFlow::CfnFlow::PrefixConfigProperty, nil) (defaults to: nil)

    Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket.

  • preserve_source_data_typing (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    If your file output format is Parquet, use this parameter to set whether Amazon AppFlow preserves the data types in your source data when it writes the output to Amazon S3.



2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
# File 'app_flow/cfn_flow.rb', line 2017

def initialize(aggregation_config: nil, file_type: nil, prefix_config: nil, preserve_source_data_typing: nil)
  @aggregation_config = aggregation_config.is_a?(Hash) ? ::AWSCDK::AppFlow::CfnFlow::AggregationConfigProperty.new(**aggregation_config.transform_keys(&:to_sym)) : aggregation_config
  Jsii::Type.check_type(@aggregation_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBmbG93LkNmbkZsb3cuQWdncmVnYXRpb25Db25maWdQcm9wZXJ0eSJ9XX19")), "aggregationConfig") unless @aggregation_config.nil?
  @file_type = file_type
  Jsii::Type.check_type(@file_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileType") unless @file_type.nil?
  @prefix_config = prefix_config.is_a?(Hash) ? ::AWSCDK::AppFlow::CfnFlow::PrefixConfigProperty.new(**prefix_config.transform_keys(&:to_sym)) : prefix_config
  Jsii::Type.check_type(@prefix_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBmbG93LkNmbkZsb3cuUHJlZml4Q29uZmlnUHJvcGVydHkifV19fQ==")), "prefixConfig") unless @prefix_config.nil?
  @preserve_source_data_typing = preserve_source_data_typing
  Jsii::Type.check_type(@preserve_source_data_typing, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "preserveSourceDataTyping") unless @preserve_source_data_typing.nil?
end

Instance Attribute Details

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

The aggregation settings that you can use to customize the output format of your flow data.



2032
2033
2034
# File 'app_flow/cfn_flow.rb', line 2032

def aggregation_config
  @aggregation_config
end

#file_typeString? (readonly)

Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket.



2037
2038
2039
# File 'app_flow/cfn_flow.rb', line 2037

def file_type
  @file_type
end

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

Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket.

You can name folders according to the flow frequency and date.



2044
2045
2046
# File 'app_flow/cfn_flow.rb', line 2044

def prefix_config
  @prefix_config
end

#preserve_source_data_typingBoolean, ... (readonly)

If your file output format is Parquet, use this parameter to set whether Amazon AppFlow preserves the data types in your source data when it writes the output to Amazon S3.

  • true : Amazon AppFlow preserves the data types when it writes to Amazon S3. For example, an integer or 1 in your source data is still an integer in your output.
  • false : Amazon AppFlow converts all of the source data into strings when it writes to Amazon S3. For example, an integer of 1 in your source data becomes the string "1" in the output.


2052
2053
2054
# File 'app_flow/cfn_flow.rb', line 2052

def preserve_source_data_typing
  @preserve_source_data_typing
end

Class Method Details

.jsii_propertiesObject



2054
2055
2056
2057
2058
2059
2060
2061
# File 'app_flow/cfn_flow.rb', line 2054

def self.jsii_properties
  {
    :aggregation_config => "aggregationConfig",
    :file_type => "fileType",
    :prefix_config => "prefixConfig",
    :preserve_source_data_typing => "preserveSourceDataTyping",
  }
end

Instance Method Details

#to_jsiiObject



2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
# File 'app_flow/cfn_flow.rb', line 2063

def to_jsii
  result = {}
  result.merge!({
    "aggregationConfig" => @aggregation_config,
    "fileType" => @file_type,
    "prefixConfig" => @prefix_config,
    "preserveSourceDataTyping" => @preserve_source_data_typing,
  })
  result.compact
end