当我尝试使用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时则不能。
答案 0 :(得分:0)
好奇您是否解决了这个问题?我的猜测是这是AWS文档的问题。它提供了此示例,然后继续说不支持Fn:s。