如果您在 Google Cloud 上为您的应用添加了 API 管理,但后来决定不再需要 API 管理功能,则可以配置 Cloud Endpoints Frameworks 以停止管理 API。
移除 API 管理不会导致停止提供 API。如果您想停止提供 API,您可以在 Google Cloud 控制台中的 App Engine 设置页面上停用该应用,也可以删除 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 > Services 页面。
记下您的 API 中某个方法的请求数量。
点击该方法的
View logs
链接。在
Produced API
日志中,记下最近一条日志条目的日期和时间。向您的 API 中的这一方法发送一些请求。
在 Google Cloud 控制台中,依次前往 Endpoints > Services 页面。
该方法的请求计数器未更新。
点击该方法的
View logs
链接。Produced API
日志不包含您发送的请求的日志条目。
移除构建配置中的依赖项
你可以选择删除构建配置中的依赖项,但这不是必须的。
要移除构建配置中的依赖项,请执行以下操作:
备份您的
pom.xml
文件或build.gradle
文件。移除以下依赖项:
endpoints-management-control-appengine
endpoints-management-control-appengine-all
endpoints-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 > 服务页面上的数据和日志查看器页面的 Produced API 日志中的数据,您可以删除 API 的代管式服务,从而从 Google Cloud 控制台中移除该数据。
要删除托管式服务,请执行以下操作:
确保 gcloud CLI (
gcloud
) 有权访问您在 Google Cloud 上的数据和服务:gcloud auth login
输入以下命令,以显示 Google Cloud 项目的 ID:
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,请参阅创建和删除托管式服务。