Class: AWSCDK::LambdaEventSources::ManagedKafkaEventSourceProps
- Inherits:
-
KafkaEventSourceProps
- Object
- KafkaEventSourceProps
- AWSCDK::LambdaEventSources::ManagedKafkaEventSourceProps
- Defined in:
- lambda_event_sources/managed_kafka_event_source_props.rb
Overview
Properties for a MSK event source.
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.
-
#cluster_arn ⇒ String
readonly
An MSK cluster construct.
-
#consumer_group_id ⇒ String?
readonly
The identifier for the Kafka consumer group to join.
-
#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 to Event Source.
-
#log_level ⇒ AWSCDK::Lambda::EventSourceMappingLogLevel?
readonly
Configuration for logging verbosity from the event source mapping poller.
-
#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.
-
#on_failure ⇒ AWSCDK::Lambda::IEventSourceDlq?
readonly
Add an on Failure Destination for this Kafka event.
-
#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.
-
#schema_registry_config ⇒ AWSCDK::Lambda::ISchemaRegistry?
readonly
Specific configuration settings for a Kafka schema registry.
-
#secret ⇒ AWSCDK::SecretsManager::ISecret?
readonly
The secret with the Kafka credentials, see https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html for details This field is required if your Kafka brokers are accessed over the Internet.
-
#starting_position ⇒ AWSCDK::Lambda::StartingPosition
readonly
Where to begin consuming the stream.
-
#starting_position_timestamp ⇒ Numeric?
readonly
The time from which to start reading, in Unix time seconds.
-
#topic ⇒ String
readonly
The Kafka topic to subscribe to.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(starting_position:, batch_size: nil, enabled: nil, max_batching_window: nil, provisioned_poller_config: nil, topic:, bisect_batch_on_error: nil, consumer_group_id: nil, filter_encryption: nil, filters: nil, log_level: nil, max_record_age: nil, metrics_config: nil, on_failure: nil, report_batch_item_failures: nil, retry_attempts: nil, schema_registry_config: nil, secret: nil, starting_position_timestamp: nil, cluster_arn:) ⇒ ManagedKafkaEventSourceProps
constructor
A new instance of ManagedKafkaEventSourceProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(starting_position:, batch_size: nil, enabled: nil, max_batching_window: nil, provisioned_poller_config: nil, topic:, bisect_batch_on_error: nil, consumer_group_id: nil, filter_encryption: nil, filters: nil, log_level: nil, max_record_age: nil, metrics_config: nil, on_failure: nil, report_batch_item_failures: nil, retry_attempts: nil, schema_registry_config: nil, secret: nil, starting_position_timestamp: nil, cluster_arn:) ⇒ ManagedKafkaEventSourceProps
Returns a new instance of ManagedKafkaEventSourceProps.
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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 27 def initialize(starting_position:, batch_size: nil, enabled: nil, max_batching_window: nil, provisioned_poller_config: nil, topic:, bisect_batch_on_error: nil, consumer_group_id: nil, filter_encryption: nil, filters: nil, log_level: nil, max_record_age: nil, metrics_config: nil, on_failure: nil, report_batch_item_failures: nil, retry_attempts: nil, schema_registry_config: nil, secret: nil, starting_position_timestamp: nil, cluster_arn:) @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? @topic = topic Jsii::Type.check_type(@topic, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "topic") @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? @consumer_group_id = consumer_group_id Jsii::Type.check_type(@consumer_group_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "consumerGroupId") unless @consumer_group_id.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? @log_level = log_level Jsii::Type.check_type(@log_level, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkV2ZW50U291cmNlTWFwcGluZ0xvZ0xldmVsIn0=")), "logLevel") unless @log_level.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? @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? @schema_registry_config = schema_registry_config Jsii::Type.check_type(@schema_registry_config, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLklTY2hlbWFSZWdpc3RyeSJ9")), "schemaRegistryConfig") unless @schema_registry_config.nil? @secret = secret Jsii::Type.check_type(@secret, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VjcmV0c21hbmFnZXIuSVNlY3JldCJ9")), "secret") unless @secret.nil? @starting_position_timestamp = Jsii::Type.check_type(@starting_position_timestamp, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "startingPositionTimestamp") unless @starting_position_timestamp.nil? @cluster_arn = cluster_arn Jsii::Type.check_type(@cluster_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clusterArn") 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
89 90 91 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 89 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.
120 121 122 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 120 def bisect_batch_on_error @bisect_batch_on_error end |
#cluster_arn ⇒ String (readonly)
An MSK cluster construct.
202 203 204 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 202 def cluster_arn @cluster_arn end |
#consumer_group_id ⇒ String? (readonly)
Default: - none
The identifier for the Kafka consumer group to join.
The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. The value must have a length between 1 and 200 and full the pattern '[a-zA-Z0-9-/:_+=.@-]'.
128 129 130 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 128 def consumer_group_id @consumer_group_id end |
#enabled ⇒ Boolean? (readonly)
Default: true
If the stream event source mapping should be enabled.
94 95 96 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 94 def enabled @enabled end |
#filter_encryption ⇒ AWSCDK::KMS::IKey? (readonly)
Default: - none
Add Customer managed KMS key to encrypt Filter Criteria.
134 135 136 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 134 def filter_encryption @filter_encryption end |
#filters ⇒ Array<Hash{String => Object}>? (readonly)
Default: - none
Add filter criteria to Event Source.
140 141 142 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 140 def filters @filters end |
#log_level ⇒ AWSCDK::Lambda::EventSourceMappingLogLevel? (readonly)
Default: - No logging
Configuration for logging verbosity from the event source mapping poller.
145 146 147 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 145 def log_level @log_level 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).
102 103 104 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 102 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.
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.
154 155 156 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 154 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.
159 160 161 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 159 def metrics_config @metrics_config end |
#on_failure ⇒ AWSCDK::Lambda::IEventSourceDlq? (readonly)
Default: - discarded records are ignored
Add an on Failure Destination for this Kafka event.
Supported destinations:
- {@link KafkaDlq } - Send failed records to a Kafka topic
- SNS topics - Send failed records to an SNS topic
- SQS queues - Send failed records to an SQS queue
- S3 buckets - Send failed records to an S3 bucket
171 172 173 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 171 def on_failure @on_failure 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.
111 112 113 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 111 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.
176 177 178 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 176 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).
183 184 185 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 183 def retry_attempts @retry_attempts end |
#schema_registry_config ⇒ AWSCDK::Lambda::ISchemaRegistry? (readonly)
Default: - none
Specific configuration settings for a Kafka schema registry.
188 189 190 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 188 def schema_registry_config @schema_registry_config end |
#secret ⇒ AWSCDK::SecretsManager::ISecret? (readonly)
Default: none
The secret with the Kafka credentials, see https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html for details This field is required if your Kafka brokers are accessed over the Internet.
193 194 195 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 193 def secret @secret end |
#starting_position ⇒ AWSCDK::Lambda::StartingPosition (readonly)
Where to begin consuming the stream.
73 74 75 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 73 def starting_position @starting_position end |
#starting_position_timestamp ⇒ Numeric? (readonly)
Default: - no timestamp
The time from which to start reading, in Unix time seconds.
198 199 200 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 198 def @starting_position_timestamp end |
#topic ⇒ String (readonly)
The Kafka topic to subscribe to.
115 116 117 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 115 def topic @topic end |
Class Method Details
.jsii_properties ⇒ Object
204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 204 def self.jsii_properties { :starting_position => "startingPosition", :batch_size => "batchSize", :enabled => "enabled", :max_batching_window => "maxBatchingWindow", :provisioned_poller_config => "provisionedPollerConfig", :topic => "topic", :bisect_batch_on_error => "bisectBatchOnError", :consumer_group_id => "consumerGroupId", :filter_encryption => "filterEncryption", :filters => "filters", :log_level => "logLevel", :max_record_age => "maxRecordAge", :metrics_config => "metricsConfig", :on_failure => "onFailure", :report_batch_item_failures => "reportBatchItemFailures", :retry_attempts => "retryAttempts", :schema_registry_config => "schemaRegistryConfig", :secret => "secret", :starting_position_timestamp => "startingPositionTimestamp", :cluster_arn => "clusterArn", } end |
Instance Method Details
#to_jsii ⇒ Object
229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 |
# File 'lambda_event_sources/managed_kafka_event_source_props.rb', line 229 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, "topic" => @topic, "bisectBatchOnError" => @bisect_batch_on_error, "consumerGroupId" => @consumer_group_id, "filterEncryption" => @filter_encryption, "filters" => @filters, "logLevel" => @log_level, "maxRecordAge" => @max_record_age, "metricsConfig" => @metrics_config, "onFailure" => @on_failure, "reportBatchItemFailures" => @report_batch_item_failures, "retryAttempts" => @retry_attempts, "schemaRegistryConfig" => @schema_registry_config, "secret" => @secret, "startingPositionTimestamp" => @starting_position_timestamp, "clusterArn" => @cluster_arn, }) result.compact end |