amazon-web-services - 带有 Kinesis Event Consumer 的 AWS CloudFormation 模板
问题描述
我正在尝试创建一个在 Kinesis Stream 中有记录时调用的 Lambda。为此,在 lambda 的 template.yaml 中,我通过以下方式添加了 Kinesis Consumer -
EventStreamConsumer:
Type: AWS::Kinesis::StreamConsumer
Properties:
StreamARN: !Sub arn:aws:kinesis:${AWS::Region}:${AWS::AccountId}:stream/${EventsKinesisStream}
ConsumerName: !Ref KinesisConsumerName
EventSourceMapping:
Type: 'AWS::Lambda::EventSourceMapping'
Properties:
BatchSize: 100
MaximumBatchingWindowInSeconds: 15
Enabled: true
EventSourceArn: !Ref EventStreamConsumer
FunctionName: !GetAtt Function.Arn
StartingPosition: LATEST
当我使用 SAM CLI 部署此模板时,我看到错误提示 -
Unsupported MaximumBatchingWindowInSecond parameter for given event source mapping type. (Service: AWSLambda; Status Code: 400; Error Code: InvalidParameterValueException; Request ID: xxxxxxxxxx)
观察参数名称的错误消息。
有人可以解释为什么会发生这种情况以及如何减轻这种情况吗?
解决方案
批处理窗口、错误处理和并发设置不适用于 HTTP/2 流使用者。
要完全理解,您可以参考下面的链接。 将 AWS Lambda 与 Amazon Kinesis 结合使用 HTTP/1 将支持您尝试执行的操作,而不是 HTTP/2。
推荐阅读
- wcf - 工作组上的 WCF
- django - Django JSONField 嵌套大于操作
- vim - 对于 Vim,有没有像 Rails Inflector 这样的插件可以帮助我操作字符串?
- reactjs - 反应从外部脚本添加动画交互式背景
- python - scrapy 响应与页面源完全不同
- python - 在 pytest 函数中使用 subprocess.run() 会导致任何测试问题吗?
- python - Postgres“CREATE TABLE AS(SELECT ...)”卡住了
- powershell - 无法使用空组捕获工作站详细信息
- flutter - 检测设备是否会在 Flutter 中显示软键盘
- reactjs - 反应打字稿和孩子