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

Posted

技术标签:

【中文标题】在 Fn::Transform 中使用 FindInMap 作为位置参数【英文标题】:Using FindInMap for Location Parameter in Fn::Transform 【发布时间】:2019-10-02 00:40:32 【问题描述】:

当我尝试使用 Fn::FindInMap 函数在 Fn::Transform 部分中为 sn-p 提供位置时,我收到此错误

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

在文档中说我可以这样做。 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】:

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

【讨论】:

以上是关于在 Fn::Transform 中使用 FindInMap 作为位置参数的主要内容,如果未能解决你的问题,请参考以下文章

python正则

如何将其转置为数组?

在 Observable RxSwift 中使用 'asPromise()' 可以在 PromiseKit Promise 中使用吗?

可以在 SELECT 查询中使用 IF() 但不能在 UPDATE 中使用

如何在 Python 中使用 kivy 在 TabeedPanel 中使用 GridLayout

Vue3中使用Pinia