AWS streams: Introduce dynamodb
and kinesis
events, deprecate stream
#8137
Labels
breaking
A breaking change
bug/design
Functionality design flaw
cat/aws-event-stream
deprecation
Deprecation proposal (breaking with next major)
enhancement
needs feedback
Initially discussed here: #8117 (comment)
Use case description
To avoid ambiguity it'll be nice to handle both stream types with two distinct event types.
Benefits of that change:
batchWindow
andmaximumRecordAgeInSeconds
doesn't seem to follow same convention)stream
event defaultbatchSize
to10
while on AWS grounds default is100
In(fixed with AWS Stream: Fix support forstream
0
is not recognized value forbatchWindow
, while it is a supported value o AWS groundsbatchWindow: 0
#8202)Proposed solution
stream
eventkinesis
anddynamodb
events, but configure them with sameAWS::Lambda::EventSourceMapping
resource generator.As we need to leave
stream
event working as is, I believe this should be introduced as new implementation.List of properties to be supported by those events (note new naming in some cases):
batchSize
: optional, maps toBatchSize
bisectBatchOnFunctionError
: optional, maps toBisectBatchOnFunctionError
onFailureDestination
: optional, maps toDestinationConfig.OnFailure
arn
: required, maps toEventSourceArn
maximumBatchingWindow
: optional, maps toMaximumBatchingWindowInSeconds
maximumRecordAge
: optional, maps toMaximumRecordAgeInSeconds
maximumRetryAttempts
: optional, maps toMaximumRetryAttempts
parallelizationFactor
: optional, maps toParallelizationFactor
startingPosition
: optional (but required in AWS), maps toStartingPosition
and we should map toTRIM_HORIZON
as default (as in case ofstream
event)runServerless
util (follow: https://github.com/serverless/serverless/tree/master/tests#unit-tests). Integration tests should be also introduced (we may reuse those already configured for those events, but it'll also be good to keep testngstream
event)dynamodb
andkinesis
as separate events (it's fine to remove documentation forstream
event)The text was updated successfully, but these errors were encountered: