Class: AWSCDK::LambdaEventSources::DynamoEventSourceProps
- Inherits:
-
StreamEventSourceProps
- Object
- StreamEventSourceProps
- AWSCDK::LambdaEventSources::DynamoEventSourceProps
- Defined in:
- lambda_event_sources/dynamo_event_source_props.rb
Instance Attribute Summary collapse
-
#batch_size ⇒ Numeric?
readonly
The largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function.
-
#bisect_batch_on_error ⇒ Boolean?
readonly
If the function returns an error, split the batch in two and retry.
-
#enabled ⇒ Boolean?
readonly
If the stream event source mapping should be enabled.
-
#filter_encryption ⇒ AWSCDK::KMS::IKey?
readonly
Add Customer managed KMS key to encrypt Filter Criteria.
-
#filters ⇒ Array<Hash{String => Object}>?
readonly
Add filter criteria option.
-
#max_batching_window ⇒ AWSCDK::Duration?
readonly
The maximum amount of time to gather records before invoking the function.
-
#max_record_age ⇒ AWSCDK::Duration?
readonly
The maximum age of a record that Lambda sends to a function for processing.
-
#metrics_config ⇒ AWSCDK::Lambda::MetricsConfig?
readonly
Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source.
-
#on_failure ⇒ AWSCDK::Lambda::IEventSourceDlq?
readonly
An Amazon S3, Amazon SQS queue or Amazon SNS topic destination for discarded records.
-
#parallelization_factor ⇒ Numeric?
readonly
The number of batches to process from each shard concurrently.
-
#provisioned_poller_config ⇒ AWSCDK::LambdaEventSources::ProvisionedPollerConfig?
readonly
Configuration for provisioned pollers that read from the event source.
-
#report_batch_item_failures ⇒ Boolean?
readonly
Allow functions to return partially successful responses for a batch of records.
-
#retry_attempts ⇒ Numeric?
readonly
Maximum number of retry attempts.
-
#starting_position ⇒ AWSCDK::Lambda::StartingPosition
readonly
Where to begin consuming the stream.
-
#tumbling_window ⇒ AWSCDK::Duration?
readonly
The size of the tumbling windows to group records sent to DynamoDB or Kinesis Valid Range: 0 - 15 minutes.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(starting_position:, batch_size: nil, enabled: nil, max_batching_window: nil, provisioned_poller_config: nil, bisect_batch_on_error: nil, filter_encryption: nil, filters: nil, max_record_age: nil, metrics_config: nil, on_failure: nil, parallelization_factor: nil, report_batch_item_failures: nil, retry_attempts: nil, tumbling_window: nil) ⇒ DynamoEventSourceProps
constructor
A new instance of DynamoEventSourceProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(starting_position:, batch_size: nil, enabled: nil, max_batching_window: nil, provisioned_poller_config: nil, bisect_batch_on_error: nil, filter_encryption: nil, filters: nil, max_record_age: nil, metrics_config: nil, on_failure: nil, parallelization_factor: nil, report_batch_item_failures: nil, retry_attempts: nil, tumbling_window: nil) ⇒ DynamoEventSourceProps
Returns a new instance of DynamoEventSourceProps.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 21 def initialize(starting_position:, batch_size: nil, enabled: nil, max_batching_window: nil, provisioned_poller_config: nil, bisect_batch_on_error: nil, filter_encryption: nil, filters: nil, max_record_age: nil, metrics_config: nil, on_failure: nil, parallelization_factor: nil, report_batch_item_failures: nil, retry_attempts: nil, tumbling_window: nil) @starting_position = starting_position Jsii::Type.check_type(@starting_position, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLlN0YXJ0aW5nUG9zaXRpb24ifQ==")), "startingPosition") @batch_size = batch_size Jsii::Type.check_type(@batch_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "batchSize") unless @batch_size.nil? @enabled = enabled Jsii::Type.check_type(@enabled, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enabled") unless @enabled.nil? @max_batching_window = max_batching_window Jsii::Type.check_type(@max_batching_window, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "maxBatchingWindow") unless @max_batching_window.nil? @provisioned_poller_config = provisioned_poller_config.is_a?(Hash) ? ::AWSCDK::LambdaEventSources::ProvisionedPollerConfig.new(**provisioned_poller_config.transform_keys(&:to_sym)) : provisioned_poller_config Jsii::Type.check_type(@provisioned_poller_config, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhX2V2ZW50X3NvdXJjZXMuUHJvdmlzaW9uZWRQb2xsZXJDb25maWcifQ==")), "provisionedPollerConfig") unless @provisioned_poller_config.nil? @bisect_batch_on_error = bisect_batch_on_error Jsii::Type.check_type(@bisect_batch_on_error, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "bisectBatchOnError") unless @bisect_batch_on_error.nil? @filter_encryption = filter_encryption Jsii::Type.check_type(@filter_encryption, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa21zLklLZXkifQ==")), "filterEncryption") unless @filter_encryption.nil? @filters = filters Jsii::Type.check_type(@filters, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoiYW55In0sImtpbmQiOiJtYXAifX0sImtpbmQiOiJhcnJheSJ9fQ==")), "filters") unless @filters.nil? @max_record_age = max_record_age Jsii::Type.check_type(@max_record_age, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "maxRecordAge") unless @max_record_age.nil? @metrics_config = metrics_config.is_a?(Hash) ? ::AWSCDK::Lambda::MetricsConfig.new(**metrics_config.transform_keys(&:to_sym)) : metrics_config Jsii::Type.check_type(@metrics_config, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLk1ldHJpY3NDb25maWcifQ==")), "metricsConfig") unless @metrics_config.nil? @on_failure = on_failure Jsii::Type.check_type(@on_failure, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLklFdmVudFNvdXJjZURscSJ9")), "onFailure") unless @on_failure.nil? @parallelization_factor = parallelization_factor Jsii::Type.check_type(@parallelization_factor, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "parallelizationFactor") unless @parallelization_factor.nil? @report_batch_item_failures = report_batch_item_failures Jsii::Type.check_type(@report_batch_item_failures, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "reportBatchItemFailures") unless @report_batch_item_failures.nil? @retry_attempts = retry_attempts Jsii::Type.check_type(@retry_attempts, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "retryAttempts") unless @retry_attempts.nil? @tumbling_window = tumbling_window Jsii::Type.check_type(@tumbling_window, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "tumblingWindow") unless @tumbling_window.nil? end |
Instance Attribute Details
#batch_size ⇒ Numeric? (readonly)
Default: 100
The largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function.
Your function receives an event with all the retrieved records.
Valid Range:
- Minimum value of 1
Maximum value of:
- 1000 for
DynamoEventSource - 10000 for
KinesisEventSource,ManagedKafkaEventSourceandSelfManagedKafkaEventSource
- 1000 for
73 74 75 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 73 def batch_size @batch_size end |
#bisect_batch_on_error ⇒ Boolean? (readonly)
Default: false
If the function returns an error, split the batch in two and retry.
100 101 102 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 100 def bisect_batch_on_error @bisect_batch_on_error end |
#enabled ⇒ Boolean? (readonly)
Default: true
If the stream event source mapping should be enabled.
78 79 80 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 78 def enabled @enabled end |
#filter_encryption ⇒ AWSCDK::KMS::IKey? (readonly)
Default: - none
Add Customer managed KMS key to encrypt Filter Criteria.
106 107 108 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 106 def filter_encryption @filter_encryption end |
#filters ⇒ Array<Hash{String => Object}>? (readonly)
Default: - None
Add filter criteria option.
111 112 113 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 111 def filters @filters end |
#max_batching_window ⇒ AWSCDK::Duration? (readonly)
Default: - Duration.seconds(0) for Kinesis, DynamoDB, and SQS event sources, Duration.millis(500) for MSK, self-managed Kafka, and Amazon MQ.
The maximum amount of time to gather records before invoking the function.
Maximum of Duration.minutes(5).
86 87 88 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 86 def max_batching_window @max_batching_window end |
#max_record_age ⇒ AWSCDK::Duration? (readonly)
Default: -1
The maximum age of a record that Lambda sends to a function for processing.
Valid Range:
- Minimum value of 60 seconds
- Maximum value of 7 days
The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records. Record are valid until it expires in the event source.
125 126 127 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 125 def max_record_age @max_record_age end |
#metrics_config ⇒ AWSCDK::Lambda::MetricsConfig? (readonly)
Default: - Enhanced monitoring is disabled
Configuration for enhanced monitoring metrics collection When specified, enables collection of additional metrics for the stream event source.
130 131 132 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 130 def metrics_config @metrics_config end |
#on_failure ⇒ AWSCDK::Lambda::IEventSourceDlq? (readonly)
Default: - discarded records are ignored
An Amazon S3, Amazon SQS queue or Amazon SNS topic destination for discarded records.
135 136 137 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 135 def on_failure @on_failure end |
#parallelization_factor ⇒ Numeric? (readonly)
Default: 1
The number of batches to process from each shard concurrently.
Valid Range:
- Minimum value of 1
- Maximum value of 10
145 146 147 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 145 def parallelization_factor @parallelization_factor end |
#provisioned_poller_config ⇒ AWSCDK::LambdaEventSources::ProvisionedPollerConfig? (readonly)
Default: - no provisioned pollers
Configuration for provisioned pollers that read from the event source.
When specified, allows control over the minimum and maximum number of pollers that can be provisioned to process events from the source.
95 96 97 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 95 def provisioned_poller_config @provisioned_poller_config end |
#report_batch_item_failures ⇒ Boolean? (readonly)
Default: false
Allow functions to return partially successful responses for a batch of records.
151 152 153 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 151 def report_batch_item_failures @report_batch_item_failures end |
#retry_attempts ⇒ Numeric? (readonly)
Default: -1 (infinite retries)
Maximum number of retry attempts.
Set to -1 for infinite retries (until the record expires in the event source).
Valid Range: -1 (infinite) or 0 to 10000
160 161 162 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 160 def retry_attempts @retry_attempts end |
#starting_position ⇒ AWSCDK::Lambda::StartingPosition (readonly)
Where to begin consuming the stream.
57 58 59 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 57 def starting_position @starting_position end |
#tumbling_window ⇒ AWSCDK::Duration? (readonly)
Default: - None
The size of the tumbling windows to group records sent to DynamoDB or Kinesis Valid Range: 0 - 15 minutes.
165 166 167 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 165 def tumbling_window @tumbling_window end |
Class Method Details
.jsii_properties ⇒ Object
167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 167 def self.jsii_properties { :starting_position => "startingPosition", :batch_size => "batchSize", :enabled => "enabled", :max_batching_window => "maxBatchingWindow", :provisioned_poller_config => "provisionedPollerConfig", :bisect_batch_on_error => "bisectBatchOnError", :filter_encryption => "filterEncryption", :filters => "filters", :max_record_age => "maxRecordAge", :metrics_config => "metricsConfig", :on_failure => "onFailure", :parallelization_factor => "parallelizationFactor", :report_batch_item_failures => "reportBatchItemFailures", :retry_attempts => "retryAttempts", :tumbling_window => "tumblingWindow", } end |
Instance Method Details
#to_jsii ⇒ Object
187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 |
# File 'lambda_event_sources/dynamo_event_source_props.rb', line 187 def to_jsii result = {} result.merge!(super) result.merge!({ "startingPosition" => @starting_position, "batchSize" => @batch_size, "enabled" => @enabled, "maxBatchingWindow" => @max_batching_window, "provisionedPollerConfig" => @provisioned_poller_config, "bisectBatchOnError" => @bisect_batch_on_error, "filterEncryption" => @filter_encryption, "filters" => @filters, "maxRecordAge" => @max_record_age, "metricsConfig" => @metrics_config, "onFailure" => @on_failure, "parallelizationFactor" => @parallelization_factor, "reportBatchItemFailures" => @report_batch_item_failures, "retryAttempts" => @retry_attempts, "tumblingWindow" => @tumbling_window, }) result.compact end |