我有一个Lambda函数,该函数使用SQS队列作为事件源。
EventQueue:
Type: AWS::SQS::Queue
Properties:
QueueName: EventQueue
VisibilityTimeout: 60
RedrivePolicy:
deadLetterTargetArn:
Fn::GetAtt:
- "ErrorQueue"
- "Arn"
maxReceiveCount: 3
MyFunction:
Type: AWS::Serverless::Function
Properties:
FunctionName: MyFunction
CodeUri: MyFunction/
Handler: app.my_function_handler
Timeout: 60
Role: !GetAtt QueueFullExecIamRole.Arn
Runtime: python3.7
Events:
MessageInQueue:
Type: SQS
Properties:
Queue: !GetAtt EventQueue.Arn
BatchSize: 1
并发设置为Use unreserved account concurrency
,当前将其设置为默认值1000
基于此documentation和此documentation,我希望,如果队列中充满了消息,那么Lambda运行时将开始扩展我函数的并发实例以处理来自队列的消息
不幸的是,基于我的Lambda应用程序监视仪表板中的图表,事实并非如此。不过,我仍然可以在SQS队列中看到3000多个消息。
这是我的AWS账户中运行的唯一应用程序,因此,我很确定自己没有使用并发限制。
我缺少什么,更重要的是如何获取lambda运行时来启动函数的并发实例?