Class: AWSCDK::KinesisAnalytics::CfnApplicationReferenceDataSourceV2::ReferenceDataSourceProperty

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

Overview

For a SQL-based Kinesis Data Analytics application, describes the reference data source by providing the source information (Amazon 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:



744
745
746
747
748
749
750
751
# File 'kinesis_analytics/cfn_application_reference_data_source_v2.rb', line 744

def initialize(reference_schema:, s3_reference_data_source: nil, table_name: nil)
  @reference_schema = reference_schema.is_a?(Hash) ? ::AWSCDK::KinesisAnalytics::CfnApplicationReferenceDataSourceV2::ReferenceSchemaProperty.new(**reference_schema.transform_keys(&:to_sym)) : reference_schema
  Jsii::Type.check_type(@reference_schema, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzYW5hbHl0aWNzLkNmbkFwcGxpY2F0aW9uUmVmZXJlbmNlRGF0YVNvdXJjZVYyLlJlZmVyZW5jZVNjaGVtYVByb3BlcnR5In1dfX0=")), "referenceSchema")
  @s3_reference_data_source = s3_reference_data_source.is_a?(Hash) ? ::AWSCDK::KinesisAnalytics::CfnApplicationReferenceDataSourceV2::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("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzYW5hbHl0aWNzLkNmbkFwcGxpY2F0aW9uUmVmZXJlbmNlRGF0YVNvdXJjZVYyLlMzUmVmZXJlbmNlRGF0YVNvdXJjZVByb3BlcnR5In1dfX0=")), "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::CfnApplicationReferenceDataSourceV2::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.



757
758
759
# File 'kinesis_analytics/cfn_application_reference_data_source_v2.rb', line 757

def reference_schema
  @reference_schema
end

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

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

A Kinesis Data Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.



764
765
766
# File 'kinesis_analytics/cfn_application_reference_data_source_v2.rb', line 764

def s3_reference_data_source
  @s3_reference_data_source
end

#table_nameString? (readonly)

The name of the in-application table to create.



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

def table_name
  @table_name
end

Class Method Details

.jsii_propertiesObject



771
772
773
774
775
776
777
# File 'kinesis_analytics/cfn_application_reference_data_source_v2.rb', line 771

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

Instance Method Details

#to_jsiiObject



779
780
781
782
783
784
785
786
787
# File 'kinesis_analytics/cfn_application_reference_data_source_v2.rb', line 779

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