Class: AWSCDK::KinesisAnalytics::CfnApplication::InputProperty

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

Overview

When you configure the application input, you specify the streaming source, the in-application stream name that is created, and the mapping between the two.

For more information, see Configuring Application Input .

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:



716
717
718
719
720
721
722
723
724
725
726
727
728
729
# File 'kinesis_analytics/cfn_application.rb', line 716

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::CfnApplication::InputSchemaProperty.new(**input_schema.transform_keys(&:to_sym)) : input_schema
  Jsii::Type.check_type(@input_schema, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzYW5hbHl0aWNzLkNmbkFwcGxpY2F0aW9uLklucHV0U2NoZW1hUHJvcGVydHkifV19fQ==")), "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::CfnApplication::InputParallelismProperty.new(**input_parallelism.transform_keys(&:to_sym)) : input_parallelism
  Jsii::Type.check_type(@input_parallelism, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzYW5hbHl0aWNzLkNmbkFwcGxpY2F0aW9uLklucHV0UGFyYWxsZWxpc21Qcm9wZXJ0eSJ9XX19")), "inputParallelism") unless @input_parallelism.nil?
  @input_processing_configuration = input_processing_configuration.is_a?(Hash) ? ::AWSCDK::KinesisAnalytics::CfnApplication::InputProcessingConfigurationProperty.new(**input_processing_configuration.transform_keys(&:to_sym)) : input_processing_configuration
  Jsii::Type.check_type(@input_processing_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzYW5hbHl0aWNzLkNmbkFwcGxpY2F0aW9uLklucHV0UHJvY2Vzc2luZ0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "inputProcessingConfiguration") unless @input_processing_configuration.nil?
  @kinesis_firehose_input = kinesis_firehose_input.is_a?(Hash) ? ::AWSCDK::KinesisAnalytics::CfnApplication::KinesisFirehoseInputProperty.new(**kinesis_firehose_input.transform_keys(&:to_sym)) : kinesis_firehose_input
  Jsii::Type.check_type(@kinesis_firehose_input, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzYW5hbHl0aWNzLkNmbkFwcGxpY2F0aW9uLktpbmVzaXNGaXJlaG9zZUlucHV0UHJvcGVydHkifV19fQ==")), "kinesisFirehoseInput") unless @kinesis_firehose_input.nil?
  @kinesis_streams_input = kinesis_streams_input.is_a?(Hash) ? ::AWSCDK::KinesisAnalytics::CfnApplication::KinesisStreamsInputProperty.new(**kinesis_streams_input.transform_keys(&:to_sym)) : kinesis_streams_input
  Jsii::Type.check_type(@kinesis_streams_input, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzYW5hbHl0aWNzLkNmbkFwcGxpY2F0aW9uLktpbmVzaXNTdHJlYW1zSW5wdXRQcm9wZXJ0eSJ9XX19")), "kinesisStreamsInput") unless @kinesis_streams_input.nil?
end

Instance Attribute Details

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

Describes the number of in-application streams to create.

Data from your source is routed to these in-application input streams.

See Configuring Application Input .



753
754
755
# File 'kinesis_analytics/cfn_application.rb', line 753

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 .



758
759
760
# File 'kinesis_analytics/cfn_application.rb', line 758

def input_processing_configuration
  @input_processing_configuration
end

#input_schemaAWSCDK::IResolvable, AWSCDK::KinesisAnalytics::CfnApplication::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.



737
738
739
# File 'kinesis_analytics/cfn_application.rb', line 737

def input_schema
  @input_schema
end

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

If the streaming source is an Amazon Kinesis Firehose delivery stream, identifies the delivery stream's ARN and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

Note: Either KinesisStreamsInput or KinesisFirehoseInput is required.



765
766
767
# File 'kinesis_analytics/cfn_application.rb', line 765

def kinesis_firehose_input
  @kinesis_firehose_input
end

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

If the streaming source is an Amazon Kinesis stream, identifies the stream's Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

Note: Either KinesisStreamsInput or KinesisFirehoseInput is required.



772
773
774
# File 'kinesis_analytics/cfn_application.rb', line 772

def kinesis_streams_input
  @kinesis_streams_input
end

#name_prefixString (readonly)

Name prefix to use when creating an in-application stream.

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



744
745
746
# File 'kinesis_analytics/cfn_application.rb', line 744

def name_prefix
  @name_prefix
end

Class Method Details

.jsii_propertiesObject



774
775
776
777
778
779
780
781
782
783
# File 'kinesis_analytics/cfn_application.rb', line 774

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



785
786
787
788
789
790
791
792
793
794
795
796
# File 'kinesis_analytics/cfn_application.rb', line 785

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