有一个被 Kinesis 流消息触发的函数(serverless.yml):
functions:
kinesis-handler:
handler: kinesis-handler.handle
events:
- stream:
type: kinesis
arn:
Fn::Join:
- ':'
- - arn
- aws
- kinesis
- Ref: AWS::Region
- Ref: AWS::AccountId
- stream/intercom-stream
startingPosition: LATEST
batchSize: 100
enabled: true
函数最终会被触发(在消息发送后2-5秒),但不是立即触发。这是有意设计的吗?我可以认为Kinesis数据流对于(近乎)实时事件驱动架构不太合适吗?
当触发器是Kinesis流时,实际上是什么触发了Lambda函数?看起来只有每1-2秒的后台定期轮询,如果在流中发现新消息,则会触发Lambda。