在Fn :: Transform中使用FindInMap作为位置参数

时间:2019-05-14 22:59:47

标签: amazon-web-services amazon-cloudformation

当我尝试使用Fn :: FindInMap函数在Fn :: Transform部分中提供代码片段的位置时,出现此错误

  

由于无法提取转换参数中的函数,因此转换块中的内部函数只能包含参数值或堆栈元数据。

在文档中说我可以这样做。 Here is the documentation

这是我模板的两个相关部分

Fn::Transform:
  Name: 'AWS::Include'
  Parameters: {Location: {'Fn::FindInMap': [PipelineStackMap, dev, Location]}}


Mappings:
  PipelineStackMap:
    prod:
      Location: "s3://my-prod-cicd-bucket/pipeline.yml"
    dev:
      Location: "s3://my-cicd-bucket/pipeline.yml"
    qa:
      Location: "s3://my-cicd-bucket/pipeline.yml"

当我使用Ref和变量或对存储桶字符串进行硬编码时,它工作正常,而在使用FindInMap时则不能。

1 个答案:

答案 0 :(得分:0)

好奇您是否解决了这个问题?我的猜测是这是AWS文档的问题。它提供了此示例,然后继续说不支持Fn:s。