Cloud Endpoints Frameworks 是一种网络框架,它适用于 App Engine 标准 Python 2.7 和 Java 8 运行时环境。 借助 Cloud Endpoints Frameworks 中提供的工具和库,您可以为自己的应用生成 REST API 和客户端库。
与其他网络框架一样,Endpoints Frameworks 也会处理应用的 HTTP 请求和响应的低层通信细节。当客户端向您的 API 发送请求时,Endpoints Frameworks 会将请求的网址路由到您的代码中用于处理该请求的函数或方法。Endpoints Frameworks 会将返回值转换为 JSON 并发送响应。您可以在源代码中添加元数据(借助 Java 中的注释或 Python 中的修饰器)。元数据用于定义应用的 REST API 的表面。
使用 Endpoints Frameworks,您不必使用应用来部署第三方网络服务器(例如 Apache Tomcat 或 Gunicorn)。您可以对代码进行注释或修饰,并像往常一样将应用部署到 App Engine 标准环境。
API 管理
Extensible Service Proxy (ESP) 可为适用于 OpenAPI 的 Endpoints 和适用于 gRPC 的 Endpoints 提供 API 管理功能。ESP 与后端的每个实例一起在容器中运行。
由于在开发 Endpoints Frameworks 时,App Engine 标准环境不支持多容器部署,因此,Endpoints Frameworks 未使用 ESP,而是内置了一个 API 网关,该网关提供的 API 管理功能相当于 ESP 为适用于 OpenAPI 的 Endpoints 和适用于 gRPC 的 Endpoints 提供的功能。
Endpoints Frameworks 会拦截所有请求并执行所有必要的检查(例如身份验证),然后再将请求转发到 API 后端。当后端响应时,Endpoints Frameworks 会收集遥测数据并进行报告。您可以在 Google Cloud 控制台中的 Endpoints 服务页面上查看 API 的指标。
可使用带有或不带 API 管理功能的 Endpoints Frameworks。不带 API 管理功能的 Endpoints Frameworks 可免费使用。API 管理功能按照 Endpoints 价格页面的规定收费。
限制
- 仅在 App Engine 标准 Python 2.7 和 Java 8 运行时环境中支持 Endpoints Frameworks。
- Endpoints Frameworks 不支持 App Engine 标准环境中的 Node.js、PHP 和 Go 运行时环境。
- Endpoints Frameworks 不支持 App Engine 柔性环境。
- Endpoints Frameworks 不支持 Cloud Run 函数、Compute Engine 和 Google Kubernetes Engine。
后续步骤
如需详细了解 ESP 和 Endpoints Frameworks 之间的差异,请参阅比较可扩展服务代理和 Endpoints Frameworks。
如需了解特定语言的库和工具,请参阅以下内容:
如需了解如何配置、部署示例 API 并向该 API 发送请求,请参阅下列内容: