我想使用Fn :: Transform-AWS :: Include来包含文件的非硬编码路径。
示例代码:
DataLaunchConfiguration:
Fn::Transform:
Name: AWS::Include
Parameters:
Location:
Fn::Sub:
- "s3://${MyParam}/xyz/metadata.yml"
- MyParam: !FindInMap [Constants, A, B]
语法被接受,但是描述堆栈事件给出:
“ ResourceStatusReason”:“未能在转换内提取函数 参数,转换块中的内部函数只能包含 参数值或堆栈元数据。”
当我直接- MyParam: "abcabc"
指定MyParam时,这将起作用。
也尝试过这样的事情:
DataLaunchConfiguration:
Fn::Transform:
Name: AWS::Include
Parameters:
Location:
Fn::Join:
- ''
- -
- "s3://"
- !FindInMap [Constants, A, B]
- "/xyz/metadata.yml"
描述堆栈事件输出:
“ ResourceStatusReason”:“内部故障”
问题:是否可以通过FindInMap函数实现这一目标?
也许有更好的方法来存储一些常量而不是映射。因为 Fn :: Ref 可以正常工作。