Amazon cloudformation Cloudformation何时使用getatt、ref、vs${}
我试图找出Amazon cloudformation Cloudformation何时使用getatt、ref、vs${},amazon-cloudformation,Amazon Cloudformation,我试图找出GetAttvsRefvs${}之间的区别 据我所知,您使用GetAtt仅引用同一模板内的对象,而Ref可用于引用任何内容?另外,我什么时候会使用${}?Ref可以用于两件事: 返回通过模板的参数部分传入的参数值 当您在模板中引用另一个资源的逻辑ID时,REF返回您可以认为是该类型资源的默认属性。因此,对EC2实例使用ref将返回实例ID,引用s3 bucket资源将返回bucket名称。您可以查看AWS文档中每个cloudformation resources页面的底部,查看该值(请
GetAtt
vsRef
vs${}
之间的区别
据我所知,您使用
GetAtt
仅引用同一模板内的对象,而Ref
可用于引用任何内容?另外,我什么时候会使用${}
?Ref可以用于两件事:
所有这些都在AWS文件中。该图纸可能有助于澄清以下用途:
是一个非常方便的网页,可用于快速参考通过
Ref
和GetAtt
获取的大多数云信息资源。您可以使用Ref
作为逻辑资源的默认值(包括使用${NAME}方法的Sub
内部),也可以作为堆栈的参数GetAtt
仅对堆栈的逻辑资源有用。非常感谢。如果我想引用模板之外的内容,例如获取arn
,我可以根据给出的解释使用ref或getaa?否,因为这些函数仅在模板内工作。如果资源已经在模板之外创建,则可以在控制台中查看资源时找到arn,然后您可以通过参数将其传递到cloudformation中:${}是引用参数的另一种方式。只是参数吗?根据:“将变量写为${MyVarName}。变量可以是模板参数名、资源逻辑ID、资源属性或键值映射中的变量。”这有点误导。1) GetAtt无法获取“资源的任何属性”,它可以获取由资源定义的非常有限的集合。2) ${}也可以用作资源的默认值,而不仅仅用于参数。谢谢@JasonWadsworth。校正图像。