如果您在 Google Cloud上为您的应用添加了 API 管理,但 后来决定不再需要 API 管理功能,则可以配置 Cloud Endpoints Frameworks 以停止管理 API。
移除 API 管理不会导致停止提供 API。如果您想 停止提供 API,您可以在 Google Cloud 控制台的 App Engine Settings 页面上禁用该应用或者 删除 Google Cloud 项目。如需了解详情,请参阅停用 应用和关闭项目。
要移除 API 管理,请执行以下操作:
备份您的 API 项目的
web.xml和appengine-web.xml文件。在 API 项目的
web.xml文件中,移除以下内容:endpoints-api-configuration过滤条件。endpoints-api-controller过滤条件。endpoints-api-configuration过滤条件映射。endpoints-api-controller过滤条件映射。
删除过滤条件和过滤条件映射后,您的
web.xml应类似于如下所示:在
appengine-web.xml文件中,移除用于定义ENDPOINTS_SERVICE_NAME环境变量的一行。如果ENDPOINTS_SERVICE_NAME是您定义的唯一环境变量,请移除整个env-variables部分。清理项目,然后构建 API:
Maven
mvn clean mvn package
Gradle
gradle clean gradle build
重新部署应用
Maven
mvn appengine:deploy
Gradle
gradle appengineDeploy
重新部署应用后,Cloud Endpoints Frameworks 将停止管理您的 API。
验证 API 管理移除
要验证 Endpoints Frameworks 是否不再管理您的 API,请执行以下操作:
在 Google Cloud 控制台中,转到 Endpoints > 服务 页面。
记下您的 API 中某个方法的请求数量。
点击该方法的
View logs链接。在
Produced API日志中,记下最近一条日志条目的日期和时间。向您的 API 中的这一方法发送一些请求。
在 Google Cloud 控制台中,转到 Endpoints > 服务 页面。
该方法的请求计数器未更新。
点击该方法的
View logs链接。Produced API日志不包含您发送的请求的日志条目。
移除 build 配置中的依赖项
你可以选择删除构建配置中的依赖项,但这不是必须的。
要移除 build 配置中的依赖项,请执行以下操作:
备份您的
pom.xml文件或build.gradle文件。移除以下依赖项:
endpoints-management-control-appengineendpoints-management-control-appengine-allendpoints-framework-auth
清理项目,然后构建 API:
Maven
mvn clean mvn package
Gradle
gradle clean gradle build
重新部署应用
Maven
mvn appengine:deploy
Gradle
gradle appengineDeploy
测试您的 API 以确保它按预期工作。
删除托管式服务
Endpoints Frameworks 使用 Google Service Management 来管理您的 API。当您使用 gcloud endpoints services
deploy 命令部署 OpenAPI 文档时,该命令使用 Service Management 为您的 API 创建
代管式服务。如果不需要
Endpoints > Services 页面上的数据和 Logs Viewer
页面的 Produced API 日志中的数据,您可以删除 API 的代管式服务,从而从
控制台 Google Cloud 中移除该数据。
要删除代管式服务,请执行以下操作:
确保 gcloud CLI (
gcloud) 有权访问您在以下位置的 数据和服务 Google Cloud:gcloud auth login输入以下命令,以显示项目的项目 ID: Google Cloud
gcloud projects list使用上一步中的适用项目 ID,将默认 Google Cloud 项目设置为您的应用所在的项目:
gcloud config set project [YOUR_PROJECT_ID]获取 Google Cloud 项目中所有托管式服务的名称:
gcloud endpoints services list从 Service Management 中删除服务:将
SERVICE_NAME替换为您要移除的服务的名称。gcloud endpoints services delete SERVICE_NAME
运行
gcloud endpoints services delete不会立即删除托管式服务。Service Management 会将该托管式服务停用 30 天,以便您在需要时对其进行恢复。30 天后,Service Management 将永久删除该托管式服务。
后续步骤
如需恢复托管式服务,请参阅恢复托管式服务。
如需了解本页中使用的
gcloud命令,请参阅gcloud参考文档。如需了解 Service Management,请参阅创建和删除托管式服务。