首页 > 解决方案 > 使用带有“Ref”的 Fn::Join

问题描述

我遇到了这个障碍,我一直在努力寻找一种方法来简化我的工作,以避免使用巨大的 if 语句块。我想到我可以使用 s "Ref" 和 a"Fn::Join"但显然它不起作用,或者至少不是我在视觉上认为它会起作用的方式。

"Type": "AWS::WAFRegional::Rule",
"Properties":{
"Predicates": [{
"DataId":{
"Ref" : {"Fn::Join" : ["", [{"Ref" : "IpSets"}, "IPSet"]]},

所以我如何直观地看到这个工作是"Ref" : IpSets我们在将文件上传到 CloudFormation 时设置的参数。所以它将拉下该文本,并将其与 IpSet 结合以创建类似 DevIPSet 的内容。由于这是一个连接后的字符串,它会是 "Ref" : "DevIPSet" 然后这会拉出我已经放在一边的 IP 集。

这显然是行不通的,如果有我可以使用的技巧,它正在与社区联系。我已经研究了 Mapping ,但也无法使用 dataID 来实现它。我发现的唯一真正的解决方案就是使用Fn::If并制作一个巨大的块,但这很难看。

标签: amazon-cloudformation

解决方案


我认为你正在尝试做的事情是不可能的。因为标签属性有重复


推荐阅读