如何在 serverless.yml 中为 AWS SQS 设置 maximumBatchingWindowInSeconds?

How to set maximumBatchingWindowInSeconds for AWS SQS in serverless.yml?

我使用无服务器库创建了一个 serverless.yml 文件。我创建了一个 lambda 服务和 SQS 服务。但是我无法在无服务器中设置最大批处理 window 属性。目前它被设置为 0 并且 lambda 是用单个有效负载调用的。

我试过使用 batchWindow 属性 但它不起作用。

  events:
  - sqs: 
      arn: 
        Fn::GetAtt: [ sqsQueue, Arn ]
      batchSize: 4
      batchWindow: 40

我也尝试过使用 maximumBatchingWindowInSeconds 属性 但值仍然是 0。

  events:
  - sqs: 
      arn: 
        Fn::GetAtt: [ sqsQueue, Arn ]
      batchSize: 4
      maximumBatchingWindowInSeconds: 40

有没有一种方法可以通过覆盖无服务器中的 aws cloudformation 资源来实现? https://www.serverless.com/framework/docs/providers/aws/guide/resources/#override-aws-cloudformation-resource

可以在下面找到正确的语法:

events:
      - sqs:
          arn: arn:aws:sqs:region:XXXXXX:myQueue
          batchSize: 10
          maximumBatchingWindow: 60

请确保您使用的是最新版本的框架。

文档:https://www.serverless.com/framework/docs/providers/aws/events/sqs