如何从另一个应用程序引用一个嵌套 SAM 应用程序的输出

How to Reference the Output of One Nested SAM Application from Another Application

我有一个 AWS SAM 模板,它定义了一个引用其他几个嵌套应用程序的应用程序。

我需要将一个嵌套应用程序的输出传递给另一个嵌套应用程序的参数,但我不确定语法是否正确。

这是包含嵌套应用程序的模板示例:

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
  My Application

Metadata:
  AWS::ServerlessRepo::Application:
    Name: myapplication
    Description: My Application
    Author: me
    ReadmeUrl: README.md

Resources:
  nestedapp1:
    Type: AWS::Serverless::Application
    Properties:
      Location:
        ApplicationId: arn:aws:serverlessrepo:us-west-2:123456:applications/nestedapp1
        SemanticVersion: 0.0.1

  nestedapp2:
    Type: AWS::Serverless::Application
    Properties:
      Location:
        ApplicationId: arn:aws:serverlessrepo:us-west-2:123456:applications/nestedapp2
        SemanticVersion: 0.0.1
    Parameters:
      Parameter1: nestedapp1.Output1

nestedapp1 定义一个名为“Output1”的输出变量,nestedapp2 接受一个名为“Parameter1”的参数。

我想将 nestedapp1.Output1 的值传递给 nestedapp2.Parameter1。请参阅示例代码的最后一行,这不是正确的方法,但说明了我正在尝试做的事情。

我怎样才能做到这一点?

我知道怎么做了。请参阅最后一行以了解正确的语法。

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
  My Application

Metadata:
  AWS::ServerlessRepo::Application:
    Name: myapplication
    Description: My Application
    Author: me
    ReadmeUrl: README.md

Resources:
  nestedapp1:
    Type: AWS::Serverless::Application
    Properties:
      Location:
        ApplicationId: arn:aws:serverlessrepo:us-west-2:123456:applications/nestedapp1
        SemanticVersion: 0.0.1

  nestedapp2:
    Type: AWS::Serverless::Application
    Properties:
      Location:
        ApplicationId: arn:aws:serverlessrepo:us-west-2:123456:applications/nestedapp2
        SemanticVersion: 0.0.1
      Parameters:
        Parameter1: !GetAtt nestedapp1.Outputs.OutputName