测试CDK栈时,如何访问嵌套的AWS资源(如ECS任务定义)?
CDK测试嵌套资源标签的问题
我通过CDK栈创建了ECS集群、任务定义、服务、ALB监听器等资源,并编写测试验证资源是否正确打标签。但验证部分资源类型时,发现栈资源中无对应条目。例如执行以下测试代码:
template.allResources("AWS::ECS::TaskDefinition", { Properties: { Tags: Match.arrayWith([ Match.objectLike({ Key: "some-key", Value: "some-value", }), ]), }, });
测试失败,提示:
一个或多个资源缺少通用标签:
AWS::ECS::TaskDefinition: 错误:模板中有0个类型为AWS::ECS::TaskDefinition的资源,没有符合预期的匹配项。
我通过输出模板内容调试后发现,资源中确实没有任务定义,推测它嵌套在集群资源下:
{ Resources: { Bucket83908E77: ..., ... ClusterEB0386A7: ... }, }
请问如何测试这类嵌套资源?
内容的提问来源于stack exchange,提问作者Josh M.
相关产品推荐
相关产品推荐

