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

Bri*_*all 7 amazon-web-services aws-cloudformation

当我尝试使用该Fn::FindInMap函数为某个Fn::Transform部分中的代码段提供位置时,我收到此错误

无法消化转换参数中的函数,转换块中的内在函数只能包含参数值或堆栈元数据。

在文档中它说我可以这样做。 这是文档

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

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"
Run Code Online (Sandbox Code Playgroud)

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

Mik*_*ike 2

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