使用文档
更新时间:2026-07-01
本文档介绍百度智能云 GaiaDB 服务的 Java SDK 使用方法,涵盖客户端初始化及集群、接口、账号、数据库、快照备份、白名单、参数模板等全部功能接口。
目录
准备工作
1.1 引入依赖
在项目中引入 bce-java-sdk 依赖(版本以实际发布为准)。
XML
1<dependency>
2 <groupId>com.baidubce</groupId>
3 <artifactId>bce-java-sdk</artifactId>
4 <version>x.x.x</version>
5</dependency>
1.2 初始化客户端
GaiadbClient 是所有接口的入口,需要配置 Access Key、Secret Key 及服务 Endpoint。
Java
1import com.baidubce.auth.DefaultBceCredentials;
2import com.baidubce.services.gaiadb.GaiadbClient;
3import com.baidubce.services.gaiadb.GaiadbClientConfiguration;
4
5// 1. 构造配置
6GaiadbClientConfiguration config = new GaiadbClientConfiguration();
7config.setCredentials(new DefaultBceCredentials("your-access-key", "your-secret-key"));
8config.setEndpoint("http://gaiadb.bj.baidubce.com");
9
10// 2. 创建客户端
11GaiadbClient client = new GaiadbClient(config);
说明:Endpoint 需根据集群所在区域填写,例如北京为
gaiadb.bj.baidubce.com。所有请求的基础路径为/v1/gaiadb。
集群管理
2.1 创建集群
Java
1ClusterCreateRequest request = new ClusterCreateRequest();
2request.setProductType("prepay"); // 计费类型
3request.setDuration(1); // 购买时长
4request.setNumber(1); // 购买数量
5
6ClusterCreateRequest.InstanceParam instanceParam = new ClusterCreateRequest.InstanceParam();
7instanceParam.setReleaseVersion("8.0");
8instanceParam.setAllocatedCpuInCore(2);
9instanceParam.setAllocatedMemoryInGB(8);
10instanceParam.setAllocatedStorageInGB(100);
11instanceParam.setVpcId("vpc-xxxxxx");
12instanceParam.setSubnetId("subnet-xxxxxx");
13instanceParam.setAzone("cn-bj-a");
14instanceParam.setClusterName("my-gaiadb-cluster");
15request.setInstanceParam(instanceParam);
16
17ClusterCreateResponse response = client.createCluster(request);
18System.out.println(response);
2.2 查询集群列表
Java
1// 查询全部集群
2ClusterListResponse all = client.listClusters();
3
4// 带过滤条件分页查询
5ClusterListRequest listRequest = new ClusterListRequest();
6listRequest.setMarker("marker-value"); // 分页游标
7listRequest.setMaxKeys(20); // 每页数量
8listRequest.setClusterIpList("10.0.0.1");
9listRequest.setClusterIds("gaiadb-xxxx");
10ClusterListResponse list = client.listClusters(listRequest);
2.3 查询集群详情
Java
1ClusterDetailResponse detail = client.getCluster("gaiadb-xxxxxx");
2.4 变配集群
Java
1ClusterResizeRequest resizeRequest = new ClusterResizeRequest();
2resizeRequest.setResizeType("resize");
3resizeRequest.setAllocatedCpuInCore(4);
4resizeRequest.setAllocatedMemoryInMB(16384);
5OrderResponse order = client.resizeCluster("gaiadb-xxxxxx", resizeRequest);
2.5 续费集群
Java
1RenewClusterRequest renewRequest = new RenewClusterRequest();
2renewRequest.setInstanceId("gaiadb-xxxxxx");
3renewRequest.setDuration(1);
4renewRequest.setProductType("prepay");
5OrderResponse order = client.renewCluster("gaiadb-xxxxxx", renewRequest);
2.6 删除集群
Java
1client.deleteCluster("gaiadb-xxxxxx");
价格查询
3.1 查询创建集群价格
Java
1ClusterCreateRequest request = new ClusterCreateRequest();
2// ... 填充参数
3PriceResponse price = client.getClusterPrice(request);
3.2 查询变配差价
Java
1ClusterResizeRequest resizeRequest = new ClusterResizeRequest();
2// ... 填充参数
3PriceResponse diffPrice = client.getResizePrice(resizeRequest);
连接接口管理
4.1 查询接口列表
Java
1GaiadbInterfaceListResponse interfaces = client.listInterfaces("gaiadb-xxxxxx");
4.2 更新接口配置
Java
1GaiadbInterfaceUpdateRequest request = new GaiadbInterfaceUpdateRequest();
2request.setInterfaceId("interface-xxxx");
3
4GaiadbInterfaceUpdateRequest.InterfaceConfig cfg = new GaiadbInterfaceUpdateRequest.InterfaceConfig();
5cfg.setAddressName("rw");
6cfg.setMasterReadable(1);
7cfg.setGlobalConsistency(1);
8request.setInterfacee(cfg);
9
10client.updateInterface("gaiadb-xxxxxx", request);
4.3 更新接口 DNS 名称
Java
1GaiadbInterfaceUpdateDnsNameRequest request = new GaiadbInterfaceUpdateDnsNameRequest();
2request.setInterfaceId("interface-xxxx");
3request.setDnsName("my-dns-name");
4client.updateInterfaceDnsName("gaiadb-xxxxxx", request);
账号管理
5.1 创建账号
Java
1Account account = new Account();
2account.setAccountName("app_user");
3account.setPassword("YourPassword123");
4account.setAccountType("common");
5account.setRemark("应用账号");
6client.createAccount("gaiadb-xxxxxx", account);
5.2 查询账号列表
Java
1// 查询全部账号
2AccountListResponse all = client.listAccounts("gaiadb-xxxxxx");
3
4// 按类型查询
5AccountListResponse admins = client.listAccounts("gaiadb-xxxxxx", "admin");
5.3 修改账号密码
Java
1UpdateAccountPasswordRequest request = new UpdateAccountPasswordRequest();
2request.setPassword("NewPassword123");
3request.setEtag("etag-value");
4client.updateAccountPassword("gaiadb-xxxxxx", "app_user", request);
5.4 修改账号权限
Java
1AccountPrivilegesRequest request = new AccountPrivilegesRequest();
2request.setEtag("etag-value");
3
4Account.DatabasePrivilege dbPriv = new Account.DatabasePrivilege();
5dbPriv.setDbName("mydb");
6dbPriv.setAuthType("readWrite");
7request.setDatabasePrivileges(java.util.Arrays.asList(dbPriv));
8
9client.updateAccountPrivileges("gaiadb-xxxxxx", "app_user", request);
5.5 修改账号授权 IP
Java
1UpdateAccountAuthIpRequest request = new UpdateAccountAuthIpRequest();
2request.setAction("modify");
3request.setEtag("etag-value");
4
5Account.AuthValue value = new Account.AuthValue();
6value.setAuthip(java.util.Arrays.asList("10.0.0.0/24"));
7request.setValue(value);
8
9client.updateAccountAuthIp("gaiadb-xxxxxx", "app_user", request);
5.6 删除账号
Java
1client.deleteAccount("gaiadb-xxxxxx", "app_user");
数据库管理
6.1 创建数据库
Java
1Database database = new Database();
2database.setDbName("mydb");
3database.setCharacterSetName("utf8mb4");
4database.setRemark("业务库");
5client.createDatabase("gaiadb-xxxxxx", database);
6.2 查询数据库列表
Java
1DatabaseListResponse databases = client.listDatabases("gaiadb-xxxxxx");
6.3 删除数据库
Java
1client.deleteDatabase("gaiadb-xxxxxx", "mydb");
快照与备份
7.1 创建快照
Java
1// 使用默认参数创建快照
2client.createSnapshot("gaiadb-xxxxxx");
3
4// 指定备份类型
5SnapshotCreateRequest request = new SnapshotCreateRequest();
6request.setBackupType("full");
7client.createSnapshot("gaiadb-xxxxxx", request);
7.2 查询快照列表
Java
1SnapshotListResponse snapshots = client.listSnapshots("gaiadb-xxxxxx");
7.3 更新备份策略
Java
1SnapshotPolicyUpdateRequest request = new SnapshotPolicyUpdateRequest();
2request.setDataType("data");
3request.setDataBackupWeekDay(java.util.Arrays.asList("Monday", "Thursday"));
4request.setDataBackupTime("02:00:00");
5request.setLogBackupRetainDays(7);
6client.updateSnapshotPolicy("gaiadb-xxxxxx", request);
7.4 查询备份策略
Java
1// 默认查询
2SnapshotPolicyListResponse policy = client.getSnapshotPolicy("gaiadb-xxxxxx");
3
4// 带过滤条件
5SnapshotPolicyListRequest request = new SnapshotPolicyListRequest();
6request.setDataType("data");
7SnapshotPolicyListResponse result = client.getSnapshotPolicy("gaiadb-xxxxxx", request);
白名单管理
8.1 更新白名单
Java
1WhitelistRequest request = new WhitelistRequest();
2request.setAuthIps(java.util.Arrays.asList("10.0.0.0/24", "192.168.1.1"));
3request.setEtag("etag-value");
4client.updateWhitelist("gaiadb-xxxxxx", request);
8.2 查询白名单
Java
1WhitelistResponse whitelist = client.getWhitelist("gaiadb-xxxxxx");
参数管理
9.1 查询参数
Java
1ComputeModuleParamsResponse params = client.getComputeModuleParams("gaiadb-xxxxxx");
9.2 修改参数
Java
1UpdateComputeModuleParamsRequest request = new UpdateComputeModuleParamsRequest();
2request.setTiming("now"); // 生效时机
3
4java.util.Map<String, String> paramMap = new java.util.HashMap<>();
5paramMap.put("max_connections", "1000");
6request.setParams(paramMap);
7
8client.updateComputeModuleParams("gaiadb-xxxxxx", request);
异常处理
SDK 调用异常时会抛出 BceServiceException(服务端错误)或 BceClientException(客户端错误),建议统一捕获处理。
Java
1import com.baidubce.BceServiceException;
2import com.baidubce.BceClientException;
3
4try {
5 ClusterDetailResponse detail = client.getCluster("gaiadb-xxxxxx");
6} catch (BceServiceException e) {
7 System.out.println("Error code: " + e.getErrorCode());
8 System.out.println("Error message: " + e.getErrorMessage());
9 System.out.println("Request id: " + e.getRequestId());
10} catch (BceClientException e) {
11 System.out.println("Client error: " + e.getMessage());
12}
评价此篇文章
