Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 使用cdk为lambda添加多个安全组_Python 3.x_Lambda_Aws Lambda_Aws Cdk - Fatal编程技术网

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)