【发布时间】:2021-10-30 17:36:43
【问题描述】:
我有一个会触发 lambda 的队列。我已将 maxReceiveCount 设置为 3,以便消息在重试 3 次后进入 deadleadQueue。我的要求是如果重试 3 次,则从 lambda 本身触发另一个事件/动作。我必须在尝试 3 次后才调用该操作。有没有办法让 lambda 知道它的重试次数。
下面显示了我的 SAM 模板部分
TestQueue:
Type: AWS::SQS::Queue
Properties:
QueueName: TestQueue
DelaySeconds: 0
VisibilityTimeout: 30
MaximumMessageSize: 28800
MessageRetentionPeriod: 28800
RedrivePolicy:
deadLetterTargetArn: !GetAtt DLQueue.Arn
maxReceiveCount: 3
TestLambda:
Type: AWS::Serverless::Function
Properties:
Handler: src/index.handler
Role: !GetAtt QueueRole.Arn
EventSourceMapping:
Type: AWS::Lambda::EventSourceMapping
Properties:
BatchSize: 1
Enabled: true
EventSourceArn: !GetAtt TestQueue.Arn
FunctionName: !GetAtt TestLambda.Arn
【问题讨论】:
标签: aws-lambda amazon-sqs