我使用 AWS SAM 来生成我的 Lambda/API。但我希望能够获得这个 RestApi,这样我就可以在另一个 SAM 模板中使用它。
这个想法是有 1 个基础基础设施 CloudFormation/SAM 模板来创建网络、ALB、API 网关的东西
然后每个“微服务”都会有自己的 SAM 模板,它会通过指定RestApiId
属性创建引用这个“根”RestApi 的 API 端点
这是一个正确的方法吗?想知道当我部署每个服务时,是否会删除其他服务的 API?
我使用 AWS SAM 来生成我的 Lambda/API。但我希望能够获得这个 RestApi,这样我就可以在另一个 SAM 模板中使用它。
这个想法是有 1 个基础基础设施 CloudFormation/SAM 模板来创建网络、ALB、API 网关的东西
然后每个“微服务”都会有自己的 SAM 模板,它会通过指定RestApiId
属性创建引用这个“根”RestApi 的 API 端点
这是一个正确的方法吗?想知道当我部署每个服务时,是否会删除其他服务的 API?
您可以将默认自动生成的 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
没有记录,因此它可能会在未来的版本中进行更改。