如何使用Java删除AppEngine的版本、服务或应用?
Google App Engine Java 客户端删除服务/版本示例
前置依赖
在项目的pom.xml中引入App Engine Admin API依赖:
<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-appengine-admin</artifactId> <version>2.33.0</version> </dependency>
完整代码示例
首先初始化App Engine Admin客户端,再根据需求调用对应删除接口:
import com.google.cloud.appengine.admin.v1.AppEngineAdminClient; import com.google.cloud.appengine.admin.v1.DeleteServiceRequest; import com.google.cloud.appengine.admin.v1.DeleteVersionRequest; import com.google.longrunning.Operation; import java.util.concurrent.ExecutionException; public class AppEngineDeleteExample { public static void main(String[] args) throws ExecutionException, InterruptedException { // 替换为你的GCP项目ID String projectId = "your-project-id"; try (AppEngineAdminClient client = AppEngineAdminClient.create()) { // ------------------- 示例1:删除指定服务 ------------------- // 替换为你要删除的服务ID String serviceId = "your-service-id"; DeleteServiceRequest deleteServiceRequest = DeleteServiceRequest.newBuilder() .setName(String.format("apps/%s/services/%s", projectId, serviceId)) .build(); // 执行删除,等待操作完成 Operation deleteServiceOp = client.deleteServiceAsync(deleteServiceRequest).get(); if (deleteServiceOp.getDone()) { System.out.println("服务删除成功"); } // ------------------- 示例2:删除指定服务下的指定版本 ------------------- // 替换为你要删除的版本ID String versionId = "your-version-id"; DeleteVersionRequest deleteVersionRequest = DeleteVersionRequest.newBuilder() .setName(String.format("apps/%s/services/%s/versions/%s", projectId, serviceId, versionId)) .build(); // 执行删除,等待操作完成 Operation deleteVersionOp = client.deleteVersionAsync(deleteVersionRequest).get(); if (deleteVersionOp.getDone()) { System.out.println("版本删除成功"); } } catch (Exception e) { e.printStackTrace(); } } }
注意事项
- 认证默认会自动读取环境中配置的GCP凭证:本地开发时可执行
gcloud auth application-default login获取凭证,生产环境默认使用当前运行环境的服务账号凭证 - 删除服务会连带删除该服务下的所有版本,操作不可逆,执行前请确认资源信息正确
- 删除操作为异步长作业,示例中调用
get()会阻塞等待操作完成,你也可以根据业务需求自行实现异步监听逻辑 - 执行操作的身份需要持有
roles/appengine.appAdmin权限,否则会报权限不足错误
内容的提问来源于stack exchange,提问作者Joshua Fox
相关产品推荐
相关产品推荐

