Class: AWSCDK::Pipes::CfnPipe::PipeSourceKinesisStreamParametersProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
pipes/cfn_pipe.rb

Overview

The parameters for using a Kinesis stream as a source.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(starting_position:, batch_size: nil, dead_letter_config: nil, maximum_batching_window_in_seconds: nil, maximum_record_age_in_seconds: nil, maximum_retry_attempts: nil, on_partial_batch_item_failure: nil, parallelization_factor: nil, starting_position_timestamp: nil) ⇒ PipeSourceKinesisStreamParametersProperty

Returns a new instance of PipeSourceKinesisStreamParametersProperty.

Parameters:

  • starting_position (String)

    The position in a stream from which to start reading.

  • batch_size (Numeric, nil) (defaults to: nil)

    The maximum number of records to include in each batch.

  • dead_letter_config (AWSCDK::IResolvable, AWSCDK::Pipes::CfnPipe::DeadLetterConfigProperty, nil) (defaults to: nil)

    Define the target queue to send dead-letter queue events to.

  • maximum_batching_window_in_seconds (Numeric, nil) (defaults to: nil)

    The maximum length of a time to wait for events.

  • maximum_record_age_in_seconds (Numeric, nil) (defaults to: nil)

    Discard records older than the specified age.

  • maximum_retry_attempts (Numeric, nil) (defaults to: nil)

    Discard records after the specified number of retries.

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

    Define how to handle item process failures.

  • parallelization_factor (Numeric, nil) (defaults to: nil)

    The number of batches to process concurrently from each shard.

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

    With StartingPosition set to AT_TIMESTAMP , the time from which to start reading, in Unix time seconds.



2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
# File 'pipes/cfn_pipe.rb', line 2428

def initialize(starting_position:, batch_size: nil, dead_letter_config: nil, maximum_batching_window_in_seconds: nil, maximum_record_age_in_seconds: nil, maximum_retry_attempts: nil, on_partial_batch_item_failure: nil, parallelization_factor: nil, starting_position_timestamp: nil)
  @starting_position = starting_position
  Jsii::Type.check_type(@starting_position, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "startingPosition")
  @batch_size = batch_size
  Jsii::Type.check_type(@batch_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "batchSize") unless @batch_size.nil?
  @dead_letter_config = dead_letter_config.is_a?(Hash) ? ::AWSCDK::Pipes::CfnPipe::DeadLetterConfigProperty.new(**dead_letter_config.transform_keys(&:to_sym)) : dead_letter_config
  Jsii::Type.check_type(@dead_letter_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19waXBlcy5DZm5QaXBlLkRlYWRMZXR0ZXJDb25maWdQcm9wZXJ0eSJ9XX19")), "deadLetterConfig") unless @dead_letter_config.nil?
  @maximum_batching_window_in_seconds = maximum_batching_window_in_seconds
  Jsii::Type.check_type(@maximum_batching_window_in_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maximumBatchingWindowInSeconds") unless @maximum_batching_window_in_seconds.nil?
  @maximum_record_age_in_seconds = maximum_record_age_in_seconds
  Jsii::Type.check_type(@maximum_record_age_in_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maximumRecordAgeInSeconds") unless @maximum_record_age_in_seconds.nil?
  @maximum_retry_attempts = maximum_retry_attempts
  Jsii::Type.check_type(@maximum_retry_attempts, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maximumRetryAttempts") unless @maximum_retry_attempts.nil?
  @on_partial_batch_item_failure = on_partial_batch_item_failure
  Jsii::Type.check_type(@on_partial_batch_item_failure, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "onPartialBatchItemFailure") unless @on_partial_batch_item_failure.nil?
  @parallelization_factor = parallelization_factor
  Jsii::Type.check_type(@parallelization_factor, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "parallelizationFactor") unless @parallelization_factor.nil?
  @starting_position_timestamp = starting_position_timestamp
  Jsii::Type.check_type(@starting_position_timestamp, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "startingPositionTimestamp") unless @starting_position_timestamp.nil?
end

Instance Attribute Details

#batch_sizeNumeric? (readonly)

The maximum number of records to include in each batch.



2458
2459
2460
# File 'pipes/cfn_pipe.rb', line 2458

def batch_size
  @batch_size
end

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

Define the target queue to send dead-letter queue events to.



2463
2464
2465
# File 'pipes/cfn_pipe.rb', line 2463

def dead_letter_config
  @dead_letter_config
end

#maximum_batching_window_in_secondsNumeric? (readonly)

The maximum length of a time to wait for events.



2468
2469
2470
# File 'pipes/cfn_pipe.rb', line 2468

def maximum_batching_window_in_seconds
  @maximum_batching_window_in_seconds
end

#maximum_record_age_in_secondsNumeric? (readonly)

Discard records older than the specified age.

The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, EventBridge never discards old records.



2475
2476
2477
# File 'pipes/cfn_pipe.rb', line 2475

def maximum_record_age_in_seconds
  @maximum_record_age_in_seconds
end

#maximum_retry_attemptsNumeric? (readonly)

Discard records after the specified number of retries.

The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed records until the record expires in the event source.



2482
2483
2484
# File 'pipes/cfn_pipe.rb', line 2482

def maximum_retry_attempts
  @maximum_retry_attempts
end

#on_partial_batch_item_failureString? (readonly)

Define how to handle item process failures.

AUTOMATIC_BISECT halves each batch and retry each half until all the records are processed or there is one failed message left in the batch.



2489
2490
2491
# File 'pipes/cfn_pipe.rb', line 2489

def on_partial_batch_item_failure
  @on_partial_batch_item_failure
end

#parallelization_factorNumeric? (readonly)

The number of batches to process concurrently from each shard.

The default value is 1.



2496
2497
2498
# File 'pipes/cfn_pipe.rb', line 2496

def parallelization_factor
  @parallelization_factor
end

#starting_positionString (readonly)

The position in a stream from which to start reading.



2453
2454
2455
# File 'pipes/cfn_pipe.rb', line 2453

def starting_position
  @starting_position
end

#starting_position_timestampString? (readonly)

With StartingPosition set to AT_TIMESTAMP , the time from which to start reading, in Unix time seconds.



2501
2502
2503
# File 'pipes/cfn_pipe.rb', line 2501

def starting_position_timestamp
  @starting_position_timestamp
end

Class Method Details

.jsii_propertiesObject



2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
# File 'pipes/cfn_pipe.rb', line 2503

def self.jsii_properties
  {
    :starting_position => "startingPosition",
    :batch_size => "batchSize",
    :dead_letter_config => "deadLetterConfig",
    :maximum_batching_window_in_seconds => "maximumBatchingWindowInSeconds",
    :maximum_record_age_in_seconds => "maximumRecordAgeInSeconds",
    :maximum_retry_attempts => "maximumRetryAttempts",
    :on_partial_batch_item_failure => "onPartialBatchItemFailure",
    :parallelization_factor => "parallelizationFactor",
    :starting_position_timestamp => "startingPositionTimestamp",
  }
end

Instance Method Details

#to_jsiiObject



2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
# File 'pipes/cfn_pipe.rb', line 2517

def to_jsii
  result = {}
  result.merge!({
    "startingPosition" => @starting_position,
    "batchSize" => @batch_size,
    "deadLetterConfig" => @dead_letter_config,
    "maximumBatchingWindowInSeconds" => @maximum_batching_window_in_seconds,
    "maximumRecordAgeInSeconds" => @maximum_record_age_in_seconds,
    "maximumRetryAttempts" => @maximum_retry_attempts,
    "onPartialBatchItemFailure" => @on_partial_batch_item_failure,
    "parallelizationFactor" => @parallelization_factor,
    "startingPositionTimestamp" => @starting_position_timestamp,
  })
  result.compact
end