我需要访问已使用Cloudformation SAM模板创建和订阅的网关的arn。
当我尝试以下操作时,我在输出块中收到错误'未解决的资源依赖关系[GetResource]。'
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31
Resources:
TestFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: dist
Handler: index.handler
Events:
GetResource:
Type: Api
Properties:
Path: /path
Method: get
Outputs:
ReadApi:
Value: !Ref GetResource
Export:
Name: ReadApi
命令失败:/ bin / sh -c aws cloudformation deploy --region" ap-southeast-2" --template文件 ./serverless-output.yml --capabilities CAPABILITY_IAM --stack-name " SamTest"
创建变更集失败:Waiter ChangeSetCreateComplete失败: 服务员遇到终端故障状态:FAILED。原因: Outputs块中未解决的资源依赖[GetResource] 模板
是否可以通过这种方式访问网关ref?
答案 0 :(得分:1)
尝试以下方法获取资源的API ID。
Outputs:
ReadApiId:
Value: !GetAtt TestFunction.RootResourceId
Export:
Name: ReadApiId
答案 1 :(得分:1)
您可以使用!Ref ServerlessRestApi
访问隐式Rest API资源的ID。
由SAM中的事件生成的API资源可在以下位置找到:https://github.com/awslabs/serverless-application-model/blob/master/docs/internals/generated_resources.rst#api