Class: AWSCDK::KinesisAnalytics::CfnApplicationV2::InputProperty

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

Overview

When you configure the application input for a SQL-based Kinesis Data Analytics application, you specify the streaming source, the in-application stream name that is created, and the mapping between the two.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(input_schema:, name_prefix:, input_parallelism: nil, input_processing_configuration: nil, kinesis_firehose_input: nil, kinesis_streams_input: nil) ⇒ InputProperty

Returns a new instance of InputProperty.

Parameters:



1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
# File 'kinesis_analytics/cfn_application_v2.rb', line 1555

def initialize(input_schema:, name_prefix:, input_parallelism: nil, input_processing_configuration: nil, kinesis_firehose_input: nil, kinesis_streams_input: nil)
  @input_schema = input_schema.is_a?(Hash) ? ::AWSCDK::KinesisAnalytics::CfnApplicationV2::InputSchemaProperty.new(**input_schema.transform_keys(&:to_sym)) : input_schema
  Jsii::Type.check_type(@input_schema, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzYW5hbHl0aWNzLkNmbkFwcGxpY2F0aW9uVjIuSW5wdXRTY2hlbWFQcm9wZXJ0eSJ9XX19")), "inputSchema")
  @name_prefix = name_prefix
  Jsii::Type.check_type(@name_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "namePrefix")
  @input_parallelism = input_parallelism.is_a?(Hash) ? ::AWSCDK::KinesisAnalytics::CfnApplicationV2::InputParallelismProperty.new(**input_parallelism.transform_keys(&:to_sym)) : input_parallelism
  Jsii::Type.check_type(@input_parallelism, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzYW5hbHl0aWNzLkNmbkFwcGxpY2F0aW9uVjIuSW5wdXRQYXJhbGxlbGlzbVByb3BlcnR5In1dfX0=")), "inputParallelism") unless @input_parallelism.nil?
  @input_processing_configuration = input_processing_configuration.is_a?(Hash) ? ::AWSCDK::KinesisAnalytics::CfnApplicationV2::InputProcessingConfigurationProperty.new(**input_processing_configuration.transform_keys(&:to_sym)) : input_processing_configuration
  Jsii::Type.check_type(@input_processing_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzYW5hbHl0aWNzLkNmbkFwcGxpY2F0aW9uVjIuSW5wdXRQcm9jZXNzaW5nQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "inputProcessingConfiguration") unless @input_processing_configuration.nil?
  @kinesis_firehose_input = kinesis_firehose_input.is_a?(Hash) ? ::AWSCDK::KinesisAnalytics::CfnApplicationV2::KinesisFirehoseInputProperty.new(**kinesis_firehose_input.transform_keys(&:to_sym)) : kinesis_firehose_input
  Jsii::Type.check_type(@kinesis_firehose_input, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzYW5hbHl0aWNzLkNmbkFwcGxpY2F0aW9uVjIuS2luZXNpc0ZpcmVob3NlSW5wdXRQcm9wZXJ0eSJ9XX19")), "kinesisFirehoseInput") unless @kinesis_firehose_input.nil?
  @kinesis_streams_input = kinesis_streams_input.is_a?(Hash) ? ::AWSCDK::KinesisAnalytics::CfnApplicationV2::KinesisStreamsInputProperty.new(**kinesis_streams_input.transform_keys(&:to_sym)) : kinesis_streams_input
  Jsii::Type.check_type(@kinesis_streams_input, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzYW5hbHl0aWNzLkNmbkFwcGxpY2F0aW9uVjIuS2luZXNpc1N0cmVhbXNJbnB1dFByb3BlcnR5In1dfX0=")), "kinesisStreamsInput") unless @kinesis_streams_input.nil?
end

Instance Attribute Details

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

Describes the number of in-application streams to create.



1588
1589
1590
# File 'kinesis_analytics/cfn_application_v2.rb', line 1588

def input_parallelism
  @input_parallelism
end

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

The InputProcessingConfiguration for the input. An input processor transforms records as they are received from the stream, before the application's SQL code executes. Currently, the only input processing configuration available is InputLambdaProcessor .



1593
1594
1595
# File 'kinesis_analytics/cfn_application_v2.rb', line 1593

def input_processing_configuration
  @input_processing_configuration
end

#input_schemaAWSCDK::IResolvable, AWSCDK::KinesisAnalytics::CfnApplicationV2::InputSchemaProperty (readonly)

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

Also used to describe the format of the reference data source.



1576
1577
1578
# File 'kinesis_analytics/cfn_application_v2.rb', line 1576

def input_schema
  @input_schema
end

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

If the streaming source is an Amazon Kinesis Data Firehose delivery stream, identifies the delivery stream's ARN.



1598
1599
1600
# File 'kinesis_analytics/cfn_application_v2.rb', line 1598

def kinesis_firehose_input
  @kinesis_firehose_input
end

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

If the streaming source is an Amazon Kinesis data stream, identifies the stream's Amazon Resource Name (ARN).



1603
1604
1605
# File 'kinesis_analytics/cfn_application_v2.rb', line 1603

def kinesis_streams_input
  @kinesis_streams_input
end

#name_prefixString (readonly)

The name prefix to use when creating an in-application stream.

Suppose that you specify a prefix " MyInApplicationStream ." Kinesis Data Analytics then creates one or more (as per the InputParallelism count you specified) in-application streams with the names " MyInApplicationStream_001 ," " MyInApplicationStream_002 ," and so on.



1583
1584
1585
# File 'kinesis_analytics/cfn_application_v2.rb', line 1583

def name_prefix
  @name_prefix
end

Class Method Details

.jsii_propertiesObject



1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
# File 'kinesis_analytics/cfn_application_v2.rb', line 1605

def self.jsii_properties
  {
    :input_schema => "inputSchema",
    :name_prefix => "namePrefix",
    :input_parallelism => "inputParallelism",
    :input_processing_configuration => "inputProcessingConfiguration",
    :kinesis_firehose_input => "kinesisFirehoseInput",
    :kinesis_streams_input => "kinesisStreamsInput",
  }
end

Instance Method Details

#to_jsiiObject



1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
# File 'kinesis_analytics/cfn_application_v2.rb', line 1616

def to_jsii
  result = {}
  result.merge!({
    "inputSchema" => @input_schema,
    "namePrefix" => @name_prefix,
    "inputParallelism" => @input_parallelism,
    "inputProcessingConfiguration" => @input_processing_configuration,
    "kinesisFirehoseInput" => @kinesis_firehose_input,
    "kinesisStreamsInput" => @kinesis_streams_input,
  })
  result.compact
end