我正在尝试将 kinesis 流事件附加到 lambda 函数 usi cli 命令,但异常为:
调用 CreateEventSourceMapping 操作时发生错误 (验证异常): 检测到 1 个验证错误: 在"起始位置"处的值 null 无法满足约束: 成员不得为 null。
我的命令是:
aws lambda create-event-source-mapping --event-source-arn arn:aws:kinesis:us-west-2:xxxxxx:stream/lambda-stream --function-name helloworld-divyanayan_lambda --batch-size 100
如果 Lambda 是您持续处理流数据的 Kinesis 流的使用者,则使用"LATEST"作为起始位置。
TRIM_HORIZON将读取分片中最早的未修剪记录。
我在 CloudFormation 中将 DynamoDB 流映射到 Lambda 时收到此错误。 正如其他答案/评论所暗示的那样,问题出在 Kinesis 流上的起始位置。
CLI 文档确实有一个用于--starting-position
的标志,CloudFormation 模板也是如此。
因此,就我而言,通过将这一行添加到我的 CFN 模板中来修复它:
Type: AWS::Lambda::EventSourceMapping
Properties:
...
StartingPosition: 'LATEST'