!Ref 和 !Sub 可以在 aws cloudformation 中的任何用例上互换使用吗
Can !Ref and !Sub be used interchangeably on any use case in aws cloudformation
!Ref 和 !Sub 可以在任何用例中互换使用吗?我需要替换环境变量 LOCATION_UPDATE_SNS_TOPIC 中的 Parameter1,以便可以使用 ec2 中的 python 代码以编程方式使用此变量。下面是 ec2 实例的用户数据 属性。
UserData:
Fn::Base64:
!Sub |
#!/bin/bash
export LOCATION_UPDATE_SNS_TOPIC=!Sub Parameter1
或
UserData:
Fn::Base64:
!Sub |
#!/bin/bash
export LOCATION_UPDATE_SNS_TOPIC=!Ref Parameter1
在这种情况下,您既不使用 !Sub
也不使用 !Ref
。您已经用第一个 !Sub |
声明了以下包含参数。正确的解决方案是:
UserData:
Fn::Base64:
!Sub |
#!/bin/bash
export LOCATION_UPDATE_SNS_TOPIC=${Parameter1}
您可以找到一些示例 here。
!Ref 和 !Sub 可以在任何用例中互换使用吗?我需要替换环境变量 LOCATION_UPDATE_SNS_TOPIC 中的 Parameter1,以便可以使用 ec2 中的 python 代码以编程方式使用此变量。下面是 ec2 实例的用户数据 属性。
UserData:
Fn::Base64:
!Sub |
#!/bin/bash
export LOCATION_UPDATE_SNS_TOPIC=!Sub Parameter1
或
UserData:
Fn::Base64:
!Sub |
#!/bin/bash
export LOCATION_UPDATE_SNS_TOPIC=!Ref Parameter1
在这种情况下,您既不使用 !Sub
也不使用 !Ref
。您已经用第一个 !Sub |
声明了以下包含参数。正确的解决方案是:
UserData:
Fn::Base64:
!Sub |
#!/bin/bash
export LOCATION_UPDATE_SNS_TOPIC=${Parameter1}
您可以找到一些示例 here。