全部產品
Search
文件中心

Resource Orchestration Service:Fn::GetAtt

更新時間:Jun 19, 2024

調用內建函式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.ImageID

Fn::GetAtt函數用於嵌套資源棧以擷取嵌套資源棧的輸出

函式宣告

  • JSON

    {
      "Fn::GetAtt": [
        "nestedStackName",
        "Outputs.attributeName"
      ]
    }
  • YAML

    • 完整函數名的文法。

      Fn::GetAtt:
       - nestedStack
       - Outputs.attributeName
    • 縮寫形式文法。

      !GetAtt nestedStack.Outputs.attributeName
      說明

      使用YAML的縮寫形式擷取嵌套資源棧輸出時,可以支援嵌套資源棧名稱中包含.,但不支援嵌套資源棧輸出的屬性名稱中包含.

參數

  • nestedStack:嵌套資源棧的名稱。關於嵌套資源棧,請參見使用嵌套資源棧

  • Outputs.attributeNameOutputs.首碼固定,attributeName為嵌套資源棧中輸出的屬性名稱。

傳回值

嵌套資源棧中輸出的屬性值。

使用樣本

關於樣本的更多資訊,請參見ALIYUN::ROS::Stack