Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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
Amazon cloudformation 使用Fn::Join和“Ref”_Amazon Cloudformation - Fatal编程技术网

Amazon cloudformation 使用Fn::Join和“Ref”

Amazon cloudformation 使用Fn::Join和“Ref”,amazon-cloudformation,Amazon Cloudformation,我在这个问题上遇到了障碍,我一直试图找到一种方法来简化我的工作,以避免使用巨大的if语句块。我的想法是,我可以将s Ref与Fn::Join一起使用,但显然它不起作用,或者至少不像我想象的那样起作用 "Type": "AWS::WAFRegional::Rule", "Properties":{ "Predicates": [{ "DataId":{ "Ref" : {"Fn::Join" : ["", [{"Ref" : "IpSets"}, "IPSet"]]}, 因此,我如何直观地看到这

我在这个问题上遇到了障碍,我一直试图找到一种方法来简化我的工作,以避免使用巨大的if语句块。我的想法是,我可以将s Ref与Fn::Join一起使用,但显然它不起作用,或者至少不像我想象的那样起作用

"Type": "AWS::WAFRegional::Rule",
"Properties":{
"Predicates": [{
"DataId":{
"Ref" : {"Fn::Join" : ["", [{"Ref" : "IpSets"}, "IPSet"]]},
因此,我如何直观地看到这一工作是Ref:IpSets是我们在将文件上载到CloudFormation时设置的一个参数。因此,它将下拉该文本,并将其与IpSet结合,以创建类似于DeviceSet的内容。因为这是一个连接后的字符串,它将变成Ref:DevIPSet,然后这将把我放在一边的IP集拉出来


这显然是行不通的,如果有什么窍门我可以用的话,我会主动联系社区。我已经研究了映射,但也看不到如何使用dataID进行映射。我找到的唯一真正的解决方案是使用Fn::If并生成一个巨大的块,但这很难看。

我认为,您试图做的是不可能的。因为有一个重复的标签属性。

我认为你应该发布一个更完整的例子,而不仅仅是零碎的。这也是一个示例,展示了巨大的Fn::If块的外观。因此,这段代码位于AWS::WAFTregional::Rule的谓词中,是我编写但不起作用的代码的完整示例。Fn::If之间只有8条If语句。Fn::If:[Prod,{Ref:ProdIPSet,{Fn::If:...........................我想删除大量的条件语句是引用一个连接,但显然它不起作用。请编辑你的问题,将你有问题的代码包括在内。我想你误解了我和这个问题。我已经发布了我编写的代码,但它不起作用,并且正在向社区f寻求帮助或者解决方案,或者如果不可能的话。这看起来像是一个。请解释一下您实际想要实现的目标-并包括您的完整代码。我想看看您的巨大Fn::if块。