首页 > 解决方案 > 带有 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)

观察参数名称的错误消息。

有人可以解释为什么会发生这种情况以及如何减轻这种情况吗?

标签: amazon-web-servicesaws-lambdaamazon-cloudformationamazon-kinesis

解决方案


批处理窗口、错误处理和并发设置不适用于 HTTP/2 流使用者。

要完全理解,您可以参考下面的链接。 将 AWS Lambda 与 Amazon Kinesis 结合使用 HTTP/1 将支持您尝试执行的操作,而不是 HTTP/2。


推荐阅读