如何从我的AWS SAM模板获取自动生成的RestApi?在另一个SAM模板中使用

时间:2018-08-01 08:59:32

标签: amazon-cloudformation aws-serverless aws-sam

我使用AWS SAM生成了Lambda / API。但我希望能够获得此RestApi,以便可以在另一个SAM模板中使用它。

想法是拥有1个基本的CloudFormation / SAM模板,用于创建网络,ALB,API网关等

然后,每个“微服务”将具有其自己的SAM模板,并且将通过指定RestApiId属性来创建引用此“根” RestApi的API端点

这是正确的方法吗?不知道我是否在部署每个服务时会删除其他服务的API?

1 个答案:

答案 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堆栈的资源列表中看到ServerlessRestApiServerlessRestApi未记录,因此在将来的版本中可能会更改。