如果您在 Google Cloud 上为您的应用添加了 API 管理,但后来决定不再需要 API 管理功能,则可以配置 Cloud Endpoints Frameworks 以停止管理 API。
移除 API 管理不会导致停止提供 API。如果要停止提供 API,您可以在 Google Cloud Console 的 App Engine 设置页面上停用应用,也可以删除 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 Console 中,转到端点 & 服务页面。
记下您的 API 中某个方法的请求数量。
点击该方法的
View logs
链接。在
Produced API
日志中,记下最近一条日志条目的日期和时间。向您的 API 中的这一方法发送一些请求。
在 Google Cloud Console 中,转到端点 &服务页面。
该方法的请求计数器未更新。
点击该方法的
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 创建托管式服务。如果您不需要端点和服务页面中的数据,也不需要使用日志查看器页面上的生成的 API 日志中的数据,则可以删除 API 的代管式服务,这样会从 Google Cloud Console 中移除这些数据。
要删除托管式服务,请执行以下操作:
确保 gcloud CLI (
gcloud
) 有权访问您在 Google Cloud 上的数据和服务:gcloud auth login
输入以下命令,以显示 Google Cloud 项目的 ID:
gcloud projects list
使用上一步中相应的项目 ID,将默认 Cloud 项目设置为您的应用所在的项目:
gcloud config set project [YOUR_PROJECT_ID]
获取 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,请参阅创建和删除托管式服务。