调用内部函数Fn::GetAtt,返回模板中对应资源的返回值。
Fn::GetAtt函数用于获取资源栈资源的返回值
函数声明
- JSON - { "Fn::GetAtt": [ "logicalNameOfResource", "attributeName" ] }
- YAML - 完整函数名的语法。 - Fn::GetAtt: - logicalNameOfResource - attributeName
- 缩写形式语法。 - !GetAtt logicalNameOfResource.attributeName
 
参数信息
- logicalNameOfResource:资源栈中资源的逻辑名称。资源逻辑名称为您在模板中为特定资源定义的易识别的名称。
- attributeName:资源栈中资源的返回值名称。
返回值
资源栈中对应资源的属性值,即attributeName的值。
使用示例
返回资源名称为MyEcsInstance中的ImageID返回值。
!GetAtt MyEcsInstance.ImageID{
  "Fn::GetAtt": [
    "MyEcsInstance",
    "ImageID"
  ]
}说明 
在资源栈模板中,使用缩写形式的语法引用资源输出时可以支持包含.的资源名称,但是建议您尽量避免使用包含.的资源逻辑名称。
Resources:
  Foo.Moo.MyInstance:
    Type: ALIYUN::ECS::InstanceGroup
Outputs:
  ImageId:
    Value: !GetAtt Foo.Moo.MyInstance.ImageIDFn::GetAtt函数用于获取嵌套资源栈的输出
函数声明
- JSON - { "Fn::GetAtt": [ "nestedStackName", "Outputs.attributeName" ] }
- YAML - 完整函数名的语法。 - Fn::GetAtt: - nestedStack - Outputs.attributeName
- 缩写形式语法。 - !GetAtt nestedStack.Outputs.attributeName说明- 使用YAML的缩写形式获取嵌套资源栈输出时,可以支持嵌套资源栈名称中包含 - .,但不支持嵌套资源栈输出的属性名称中包含- .。
 
参数
- nestedStack:嵌套资源栈的名称。关于嵌套资源栈,请参见使用嵌套资源栈。
- Outputs.attributeName:- Outputs.前缀固定,- attributeName为嵌套资源栈中输出的属性名称。
返回值
嵌套资源栈中输出的返回值。
使用示例
关于示例的更多信息,请参见ALIYUN::ROS::Stack。
该文章对您有帮助吗?