如何将嵌套堆栈中的值导入父堆栈资源的依赖?

时间:2018-04-13 06:39:21

标签: amazon-web-services amazon-cloudformation

我试图将嵌套堆栈中的值传递给父级。我需要在资源的DependsOn中访问嵌套堆栈的输出。 这就是我从嵌套堆栈中传递值的方法:

"API": {            "Description": "invocation URN to be passed as env variable for ebs",
    "Value":  {"Ref":"ApiGatewayMethodPortfoliosPortfolioidVarProjectsProjectidVarFinancialsGet"},
    "Export": {
        "Name": {"Fn::Sub":"${AWS::FinancialStack}-API"}
    }       }

这就是我试图访问父堆栈中输出的方式:

    "DependsOn": [
"ApiGatewayMethodPortfoliosPortfolioidVarProjectsGet",
"ApiGatewayMethodPortfoliosPortfolioidVarProjectsProjectidVarFinancialsGet" : {"Fn::ImportValue" : {"Fn::Sub" : "${FinancialStack}-API"}}},

我收到一条错误消息,说DependsOn需要一个字符串。在这种情况下我应该如何传递值?

1 个答案:

答案 0 :(得分:1)

从父堆栈中,使用Fn::GetAtt函数从嵌套堆栈中提取输出。例如:

{ "Fn::GetAtt" : [ "MyNestedStack", "Outputs.API" ] }