首页 > 解决方案 > 如何获取引用`serverless.yml`中的“堆栈输出”参数的堆栈?

问题描述

如何获取引用“堆栈输出”的堆栈serverless.yml

例如:

我知道如果我尝试从堆栈 A中排除资源 A ,我会收到一条消息错误,指出堆栈 B使用了资源 A

所以应该存在一种列出它们的方法(推荐人)。

执行时:

$ serverless info --stage prod --verbose

返回堆栈输出.. 但我想知道我是否也可以获得推荐人。

谢谢!

标签: aws-lambdaserverless-frameworkaws-serverless

解决方案


根据文档,您可以将输出部分作为资源下的列表项:

resources:
  - Resources:
      ApiGatewayRestApi:
        Type: AWS::ApiGateway::RestApi

  - ${file(resources/first-cf-resources.yml)}
  - ${file(resources/second-cf-resources.yml)}

  - Outputs:
      CognitoUserPoolId:
        Value:
          Ref: CognitoUserPool

注意:文档中有一个小错误,不要忘记在 CognitoUserPoolId 下缩进“Value”。

更新:

这可能是另一种选择,每个部分都在一个单独的文件中。确保资源文件以Resources开头,输出文件以Outputs开头。

无服务器.yml

...

resources:
  - ${file(resources.yml)}
  - ${file(outputs.yml)}

资源.yml

Resources:
  CognitoUserPool:
    Type: AWS::Cognito::UserPool
    Properties:
      UserPoolName: my-user-pool
      AutoVerifiedAttributes:
        - phone_number

输出.yml

Outputs:
  CognitoUserPoolId:
    Value:
      Ref: CognitoUserPool

推荐阅读