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 发送请求,请参阅下列内容: