AWS::Serverless::Api和AWS::Serverless::HttpApi有什么区别?
据我所知,AWS::Serverless::HttpApi似乎配置了HTTP API,也可以使用AWS::ApiGatewayV2::Api进行配置,这是正确的吗?
AWS::Serverless::Api配置了什么,它是旧的RestAPI,你也可以通过AWS::ApiGateway::RestApi配置吗?
是的,AWS::Serverless::Api
配置REST API。AWS::Serverless::Api
是更高级别的资源,然后AWS::ApiGateway::RestApi
.
例如,只需单个AWS::Serverless::Api
就可以定义路径(/test
)及其方法(GET
)。同样的使用AWS::ApiGateway::RestApi
是不可能的。您必须分别构建AWS::ApiGateway::Resource
和AWS::ApiGateway::Method
。
AWS::Serverless::Api 提供传统的RESTfulAPI 端点,而 AWS::Serverless::HttpApi 提供更简单、更轻量级的 HTTP API 端点,支持 WebSocketAPI。
AWS::Serverless::Api 和 AWS::Serverless::HttpApi 之间的主要区别是:
- 配置模型:AWS::Serverless::Api具有更复杂的 配置模型,您可以在其中定义 API 资源和方法。 AWS::Serverless::HttpApi 有一个更简单的配置模型,其中 定义 HTTP 路由和方法。
- 函数集成:AWS::Serverless::Api 支持与 AWS Lambda 函数集成 和其他 AWS 服务。AWS::Serverless::HttpApi 支持 仅与 AWS Lambda 函数或其他 AWS 服务集成。 WebSocket API:AWS::
- Serverless::HttpApi支持WebSocket API, 这允许您构建实时应用程序。 AWS::Serverless::Api 不支持 WebSocket API。