Class: AWSCDK::KinesisAnalytics::CfnApplicationReferenceDataSource::ReferenceDataSourceProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
kinesis_analytics/cfn_application_reference_data_source.rb

Overview

Describes the reference data source by providing the source information (S3 bucket name and object key name), the resulting in-application table name that is created, and the necessary schema to map the data elements in the Amazon S3 object to the in-application table.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(reference_schema:, s3_reference_data_source: nil, table_name: nil) ⇒ ReferenceDataSourceProperty

Returns a new instance of ReferenceDataSourceProperty.

Parameters:



749
750
751
752
753
754
755
756
# File 'kinesis_analytics/cfn_application_reference_data_source.rb', line 749

def initialize(reference_schema:, s3_reference_data_source: nil, table_name: nil)
  @reference_schema = reference_schema.is_a?(Hash) ? ::AWSCDK::KinesisAnalytics::CfnApplicationReferenceDataSource::ReferenceSchemaProperty.new(**reference_schema.transform_keys(&:to_sym)) : reference_schema
  Jsii::Type.check_type(@reference_schema, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzYW5hbHl0aWNzLkNmbkFwcGxpY2F0aW9uUmVmZXJlbmNlRGF0YVNvdXJjZS5SZWZlcmVuY2VTY2hlbWFQcm9wZXJ0eSJ9XX19")), "referenceSchema")
  @s3_reference_data_source = s3_reference_data_source.is_a?(Hash) ? ::AWSCDK::KinesisAnalytics::CfnApplicationReferenceDataSource::S3ReferenceDataSourceProperty.new(**s3_reference_data_source.transform_keys(&:to_sym)) : s3_reference_data_source
  Jsii::Type.check_type(@s3_reference_data_source, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzYW5hbHl0aWNzLkNmbkFwcGxpY2F0aW9uUmVmZXJlbmNlRGF0YVNvdXJjZS5TM1JlZmVyZW5jZURhdGFTb3VyY2VQcm9wZXJ0eSJ9XX19")), "s3ReferenceDataSource") unless @s3_reference_data_source.nil?
  @table_name = table_name
  Jsii::Type.check_type(@table_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tableName") unless @table_name.nil?
end

Instance Attribute Details

#reference_schemaAWSCDK::IResolvable, AWSCDK::KinesisAnalytics::CfnApplicationReferenceDataSource::ReferenceSchemaProperty (readonly)

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.



762
763
764
# File 'kinesis_analytics/cfn_application_reference_data_source.rb', line 762

def reference_schema
  @reference_schema
end

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

Identifies the S3 bucket and object that contains the reference data.

Also identifies the IAM role Amazon Kinesis Analytics can assume to read this object on your behalf. An Amazon Kinesis Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.



769
770
771
# File 'kinesis_analytics/cfn_application_reference_data_source.rb', line 769

def s3_reference_data_source
  @s3_reference_data_source
end

#table_nameString? (readonly)

Name of the in-application table to create.



774
775
776
# File 'kinesis_analytics/cfn_application_reference_data_source.rb', line 774

def table_name
  @table_name
end

Class Method Details

.jsii_propertiesObject



776
777
778
779
780
781
782
# File 'kinesis_analytics/cfn_application_reference_data_source.rb', line 776

def self.jsii_properties
  {
    :reference_schema => "referenceSchema",
    :s3_reference_data_source => "s3ReferenceDataSource",
    :table_name => "tableName",
  }
end

Instance Method Details

#to_jsiiObject



784
785
786
787
788
789
790
791
792
# File 'kinesis_analytics/cfn_application_reference_data_source.rb', line 784

def to_jsii
  result = {}
  result.merge!({
    "referenceSchema" => @reference_schema,
    "s3ReferenceDataSource" => @s3_reference_data_source,
    "tableName" => @table_name,
  })
  result.compact
end