本教程详细介绍如何使用Alibaba Cloud SDK for Java查询DRDS实例详情。
前提条件
在使用本教程前,请确保已完成以下操作:
- 使用Alibaba Cloud SDK for Java,您需要一个阿里云账号和访问密钥(AccessKey)。 请在阿里云控制台中的AccessKey管理页面上创建和查看您的AccessKey。
- 确保您已经安装了Alibaba Cloud SDK for Java,准确的SDK版本号,请参见 阿里云开发工具包(SDK)。
<dependencies> <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-core --> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.4.3</version> </dependency> <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-drds --> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-drds</artifactId> <version>4.4.0</version> </dependency> </dependencies>
代码示例
本文操作示例主要以代码形式体现,具体代码如下:
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.drds.model.v20190123.DescribeDrdsDBsRequest;
import com.aliyuncs.drds.model.v20190123.DescribeDrdsDBsResponse;
import com.aliyuncs.drds.model.v20190123.DescribeDrdsInstanceRequest;
import com.aliyuncs.drds.model.v20190123.DescribeDrdsInstanceResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
/**
* DescribeDrdsDBs 查询数据库列表
* DescribeDrdsInstance 查看DRDS实例详情
*/
public class DescribeDrdsInstanceDemo{
// drds实例ID
private static String drdsInstanceId = "";
public static void main(String[] args) {
IAcsClient client = initialization();
// 查询数据库列表
DescribeDrdsDBsResponse describeDrdsDBsResponse = describeDrdsDBs(client);
// 查看DRDS实例详情
DescribeDrdsInstanceResponse describeDrdsInstanceResponse = describeDrdsInstance(client);
// 处理业务逻辑
System.out.println(new Gson().toJson(describeDrdsDBsResponse));
System.out.println(new Gson().toJson(describeDrdsInstanceResponse));
}
/**
* DescribeDrdsInstance 查看DRDS实例详情
*/
private static DescribeDrdsInstanceResponse describeDrdsInstance(IAcsClient client) {
DescribeDrdsInstanceRequest request = new DescribeDrdsInstanceRequest();
request.setDrdsInstanceId(drdsInstanceId);
try {
DescribeDrdsInstanceResponse response = client.getAcsResponse(request);
return response;
} catch (ClientException e) {
System.out.println("ErrCode:" + e.getErrCode());
System.out.println("ErrMsg:" + e.getErrMsg());
System.out.println("RequestId:" + e.getRequestId());
throw new RuntimeException();
}
}
/**
* DescribeDrdsDBs 查询数据库列表
*/
private static DescribeDrdsDBsResponse describeDrdsDBs(IAcsClient client) {
DescribeDrdsDBsRequest request = new DescribeDrdsDBsRequest();
// DRDS实例ID
request.setDrdsInstanceId(drdsInstanceId);
try {
DescribeDrdsDBsResponse response = client.getAcsResponse(request);
return response;
} catch (ClientException e) {
System.out.println("ErrCode:" + e.getErrCode());
System.out.println("ErrMsg:" + e.getErrMsg());
System.out.println("RequestId:" + e.getRequestId());
throw new RuntimeException();
}
}
/**
* Initialization 初始化公共请求参数
*/
private static IAcsClient initialization() {
// 初始化请求参数
DefaultProfile profile = DefaultProfile.getProfile(
"<your-region-id>", // 您的可用区ID
"<your-access-key-id>", // 您的AccessKey ID
"<your-access-key-secret>"); // 您的AccessKey Secret
return new DefaultAcsClient(profile);
}
}
执行结果
正确的执行结果类似如下:
{
"Data": {
"Db": [
{
"Status": "NORMAL",
"DbName": "george",
"CreateTime": 1563773824000,
"Schema": "george_1563773871118kxqd",
"DbInstType": "RDS",
"Mode": "HORIZONTAL"
}
]
},
"PageNumber": 1,
"PageSize": 10,
"RequestId": "006B7D19-8CDB-4AA6-AAE7-23C1075276E1",
"Success": true,
"Total": 1
}
{
"requestId": "4A531D5F-C99E-4123-8B10-54AD6D23DA77",
"success": true,
"data": {
"drdsInstanceId": "drds*****",
"type": "PRIVATE",
"regionId": "cn-hangzhou",
"zoneId": "cn-hangzhou-e",
"description": "log_test",
"networkType": "CLASSIC",
"status": "RUN",
"createTime": 1540889585000,
"instanceSeries": "drds.sn1.4c8g",
"instanceSpec": "drds.sn1.4c8g.8C16G",
"instRole": "MASTER",
"commodityCode": "drdspre",
"expireDate": 1543593600000,
"versionAction": "Upgradeable",
"label": "NORMAL",
"machineType": "ecs",
"orderInstanceId": "drdshbgaj7da98uu",
"vips": [
{
"dns": "drdshbgaj7da98uu.drds.aliyuncs.com",
"port": "3306",
"type": "intranet",
"vpcId": ""
}
],
"readOnlyDBInstanceIds": [...]
}
}