我使用AWS SAM生成了Lambda / API。但我希望能够获得此RestApi,以便可以在另一个SAM模板中使用它。
想法是拥有1个基本的CloudFormation / SAM模板,用于创建网络,ALB,API网关等
然后,每个“微服务”将具有其自己的SAM模板,并且将通过指定RestApiId
属性来创建引用此“根” RestApi的API端点
这是正确的方法吗?不知道我是否在部署每个服务时会删除其他服务的API?
答案 0 :(得分:0)
您可以将默认自动生成的RestApi作为ServerlessRestApi
访问。这是自动生成的RestApi资源的逻辑资源ID。
ServerlessRestApi
中的 template.yaml
访问示例如下。
Outputs:
ApiRootURL:
Description: API Root URL
Value: !Sub "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/${ServerlessRestApi.Stage}"
您可以在CloudFormation堆栈的资源列表中看到ServerlessRestApi
。 ServerlessRestApi
未记录,因此在将来的版本中可能会更改。