Amazon web services 共享来自嵌套堆栈的输出

Amazon web services 共享来自嵌套堆栈的输出,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,我有一个父堆栈,它调用两个嵌套堆栈,我需要将这些嵌套堆栈的值导入父堆栈。例如: 嵌套堆栈: "Outputs": { "TargetGroup":{ "Value": { "Ref": "ggTG" }, "Export": { "Name": { "Fn::Sub": "${AWS::StackName}-TargetGroup"

我有一个父堆栈,它调用两个嵌套堆栈,我需要将这些嵌套堆栈的值导入父堆栈。例如:

嵌套堆栈:

 "Outputs": {
    "TargetGroup":{ 
      "Value": {
        "Ref": "ggTG"
       },
       "Export": {
                "Name": {
                    "Fn::Sub": "${AWS::StackName}-TargetGroup"
                }
        }
    },
}
当我执行所有嵌套堆栈时,我在子堆栈中获得这些输出,但我希望在父堆栈中获得这些输出,以便从另一个独立堆栈访问

这是因为如果我在另一个独立堆栈中导入,我不能使用嵌套的名称,因为它是在运行时创建的

堆栈导入:

"TargetGroupARN" : {"Fn::ImportValue" : {"Fn::Sub" : "${StackName}-TargetGroup"}}
正如我所说,我只知道父堆栈的名称,因此我必须从父堆栈导出,而不是在子堆栈中导出。

从中,似乎可以引用嵌套堆栈的输出,如下所示:

{
    "AWSTemplateFormatVersion" : "2010-09-09",
    "Resources" : {
        "myStack" : {
           "Type" : "AWS::CloudFormation::Stack",
           "Properties" : {
              "TemplateURL" : "https://s3.amazonaws.com/cloudformation-templates-us-east-1/S3_Bucket.template",
              "TimeoutInMinutes" : "60"
           }
        }
    },
    "Outputs": {
       "StackRef": {"Value": { "Ref" : "myStack"}},
       "OutputFromNestedStack" : {
             "Value" : { "Fn::GetAtt" : [ "myStack", "Outputs.BucketName" ] }
       }
    }
}

因此,只需在嵌套堆栈中使用普通输出(无需导出),然后从顶层堆栈中引用它。

如果您遇到上述问题,请告诉我,我将尝试创建一些使用此方法的示例嵌套堆栈。