python - aws cdk python 无法获取应用程序目标组
问题描述
我一直在尝试使用 CDK 在 python 中构建堆栈,但是当我运行 cdk diff 或 cdk synth 以查看是否通过(不确定这是否是验证代码的正确方法)但通常有效但现在我有这个错误:
文件“/home/user/workspace/test/cdk/pytest/.venv/lib/python3.8/site-packages/jsii/_kernel/providers/process.py”,第 368 行,调用 return self._process.send (请求,InvokeResponse)文件“/home/user/workspace/test/cdk/pytest/.venv/lib/python3.8/site-packages/jsii/_kernel/providers/process.py”,第 335 行,在发送中来自 JavaScriptError(resp.stack) jsii.errors.JSIIError 的 JSIIError(resp.error):预期的数组类型,得到 {"$jsii.byref":"@aws-cdk/aws-elasticloadbalancingv2.ApplicationTargetGroup@10005"}
这是代码:
applicationTargetGroup = elbv2.ApplicationTargetGroup(self, 'ApplicationTargetGroup',
target_type=elbv2.TargetType.IP,
target_group_name='stg-test',
protocol=elbv2.ApplicationProtocol.HTTP,
port=8080,
vpc=vpc,
health_check=elbv2.HealthCheck(path='/images/favicon.ico')
)
httpsListener.add_target_groups('TargetGroups',
target_groups=applicationTargetGroup,
host_header='host.domain.com',
priority=107)
解决方案
错误说:“预期的数组类型”。所以你应该有add_target_groups
:
target_groups=[applicationTargetGroup],