通过CDK在函数级别限制Lambda并发数
如何在AWS CDK中设置Lambda函数的最大并发数
你要找的是Lambda的并发上限限制,在AWS CDK中可以通过函数配置里的reservedConcurrentExecutions参数来实现,这个设置和预置并发(Provisioned Concurrency)完全不同——前者是限制函数能使用的最大并发执行数,后者是提前预热固定数量的执行环境。
以下是不同语言的示例代码:
TypeScript 示例
import * as lambda from 'aws-cdk-lib/aws-lambda'; const myLambda = new lambda.Function(this, 'MyLambdaFunction', { runtime: lambda.Runtime.NODEJS_20_X, handler: 'index.handler', code: lambda.Code.fromAsset('lambda'), // 将最大并发数限制为100,可根据需求调整数值 reservedConcurrentExecutions: 100, });
Python 示例
from aws_cdk import aws_lambda as lambda_ my_lambda = lambda_.Function(self, "MyLambdaFunction", runtime=lambda_.Runtime.PYTHON_3_11, handler="index.handler", code=lambda_.Code.from_asset("lambda"), # 将最大并发数限制为100,可根据需求调整数值 reserved_concurrent_executions=100 )
设置reservedConcurrentExecutions后,该Lambda函数最多只能同时运行指定数量的执行实例,超出的请求会被拒绝并返回TooManyRequestsException错误,这正是你需要的单函数并发限制能力。
内容的提问来源于stack exchange,提问作者Lau
相关产品推荐
相关产品推荐

