2

我使用 AWS SAM 来生成我的 Lambda/API。但我希望能够获得这个 RestApi,这样我就可以在另一个 SAM 模板中使用它。

这个想法是有 1 个基础基础设施 CloudFormation/SAM 模板来创建网络、ALB、API 网关的东西

然后每个“微服务”都会有自己的 SAM 模板,它会通过指定RestApiId属性创建引用这个“根”RestApi 的 API 端点

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

4

1 回答 1

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}"

您可以ServerlessRestApi在 CloudFormation 堆栈的资源列表中看到。ServerlessRestApi没有记录,因此它可能会在未来的版本中进行更改。

于 2020-08-22T05:28:49.317 回答