Python 3.x 使用cdk为lambda添加多个安全组
根据,您可以使用Python 3.x 使用cdk为lambda添加多个安全组,python-3.x,lambda,aws-lambda,aws-cdk,Python 3.x,Lambda,Aws Lambda,Aws Cdk,根据,您可以使用security\u groups将多个安全组作为aws\u cdk.aws\u lambda.Function中的列表传递,然后它应该简单地工作,因此,我已初始化 sg_names = ['sg-a', 'sg-b', 'sg-c', 'sg-d'] 现在,当我尝试调用,lambda。功能如下所示: Function(self, 'lambda_a',
security\u groups
将多个安全组作为aws\u cdk.aws\u lambda.Function
中的列表传递,然后它应该简单地工作,因此,我已初始化
sg_names = ['sg-a', 'sg-b', 'sg-c', 'sg-d']
现在,当我尝试调用,lambda。功能
如下所示:
Function(self, 'lambda_a',
code=_lambda.Code.from_asset('lambdas'),
handler='lambda_a.handler',
function_name='lambda_a',
runtime=_lambda.Runtime.PYTHON_3_8,
role=lambda_role,
vpc=vpc,
security_groups=sg_names,
timeout=cdk.Duration.seconds(30),
)
现在它给我带来了一个错误:
Expected object reference, got "sg-a"
似乎我应该得到对象而不是值。
所以,也许我认为我需要调用SecurityGroup.from\u security\u group\u id
,但我不知道如何在这个调用中添加多个组。
有没有关于如何向lambda添加多个安全组的建议?您可以使用以下代码,我是python初学者,如果有错误,请调整:)
谢谢,我也做了同样的事情。太好了,如果这有助于你接受答案,我们将感谢你的支持。是的,正如你提到的,这是一个错误,但肯定会有助于人们朝着正确的方向解决问题。如此上浮;-)
def security_group(id):
return SecurityGroup.from_security_group_id(self, id, id)
sg_names = ['sg-a', 'sg-b', 'sg-c', 'sg-d']
security_groups = map(security_group, sg_names)