aws-lambda - 如何获取引用`serverless.yml`中的“堆栈输出”参数的堆栈?
问题描述
如何获取引用“堆栈输出”的堆栈serverless.yml
?
例如:
- 堆栈 A输出资源 A
- 堆栈 B引用资源 A
我知道如果我尝试从堆栈 A中排除资源 A ,我会收到一条消息错误,指出堆栈 B使用了资源 A。
所以应该存在一种列出它们的方法(推荐人)。
执行时:
$ serverless info --stage prod --verbose
返回堆栈输出.. 但我想知道我是否也可以获得推荐人。
谢谢!
解决方案
根据文档,您可以将输出部分作为资源下的列表项:
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
推荐阅读
- python-3.x - Discord.py 如何使某些内容仅在其他内容之后可用
- mysql - 如果字符串包含相似的值,则mysql加入
- python - 在python中获取[括号和特殊字符之间的字符串
- javascript - 找出来自API的时间戳的时区
- firebase - 从本地 Firebase 模拟器调用 Google Cloud API
- python - 仅当我调用函数时,Python程序才在容器中运行
- javascript - 使用一般更新模式时使用错误键的 D3.js 折线图
- sql - Excel 中的 SQL 查询引发“缺少右括号”错误
- r - 这个怎么解决??[<-.data.frame 中的错误:新列将在现有列之后留下孔
- python - 如何更改子图大小并减少子图之间的空间?