This document describes the Alibaba Cloud software development kit (SDK) for Java. You can use the SDK to manage ApsaraDB for Cassandra instances by making OpenAPI calls. You can create, upgrade, and delete instances, configure whitelists, and manage tags without complex programming. This SDK is different from the SDKs used to access data in Cassandra instances. This document shows you how to install and start using the Alibaba Cloud SDK for Java.
Prerequisites
An AccessKey is created. For more information, see Obtain an AccessKey.
Online debugging and SDK example generation
OpenAPI Explorer simplifies API usage. You can use it to call APIs online, generate SDK example code, and quickly retrieve interfaces. Go to the OpenAPI Explorer page and select the Cassandra product. OpenAPI Explorer provides a list of APIs. Each API includes debugging demos for different programming languages.
Download and install Alibaba Cloud SDK for Java
You can install the Alibaba Cloud SDK for Java by adding a Maven dependency or importing a JAR file. For more information, see Install Alibaba Cloud SDK for Java.
When you download the SDK package using Maven, make sure to download the latest version.
Examples
Call DescribeClusterRequest to get Cassandra cluster information
Set environment parameters.
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI****************", "yourAccessKeySecret"); // The following parameters are optional. You can use the default values. DefaultProfile.addEndpoint( "cn-hangzhou", // The region ID. "cassandra", // The product code. "cassandra.aliyuncs.com" // The endpoint, which is a domain name. );Initialize the client.
IAcsClient client = new DefaultAcsClient(profile);Create the request object.
DescribeClusterRequest request = new DescribeClusterRequest(); request.setClusterId("cds-wz9bui92****697r");Invoke the request.
DescribeClusterResponse response; try { response = client.getAcsResponse(request); System.out.println(new Gson().toJson(response)); } catch (ClientException e) { e.printStackTrace(); }
Example
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",
"LTAI****************", "yourAccessKeySecret");
DefaultProfile.addEndpoint(
"cn-hangzhou", // The region ID.
"cassandra", // The product code.
"cassandra.aliyuncs.com" // The endpoint, which is a domain name.
);
IAcsClient client = new DefaultAcsClient(profile);
DescribeClusterRequest request = new DescribeClusterRequest();
request.setClusterId("cds-wz9bui92****697r");
DescribeClusterResponse response;
try {
response = client.getAcsResponse(request);
System.out.println(new Gson().toJson(response));
} catch (ClientException e) {
e.printStackTrace();
}Sample response
{
"RequestId": "3B235CE2-2339-42A8-A11D-5F7548519AD2",
"Cluster": {
"Status": "Running",
"MajorVersion": "3.11",
"CreatedTime": "2020-04-21T08:50:04Z",
"ClusterId": "cds-wz9bui92****6973",
"MinorVersion": "3.11.9",
"PayType": "PayAsYouGo",
"LockMode": "Expired",
"IsLatestVersion": true,
"MaintainEndTime": "22:00Z",
"DataCenterCount": 1,
"ClusterName": "auto_test20200421170214",
"MaintainStartTime": "18:00Z",
"Tags": {
"Tag": [
{
"Value": "1",
"Key": "test"
},
{
"Value": "2",
"Key": "test2"
}
]
}
}
}Call CreateCluster to create a Cassandra cluster
Set environment parameters.
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI****************", "yourAccessKeySecret"); // The following parameters are optional. You can use the default values. DefaultProfile.addEndpoint( "cn-hangzhou", // The region ID. "cassandra", // The product code. "cassandra.aliyuncs.com" // The endpoint, which is a domain name. );Initialize the client.
IAcsClient client = new DefaultAcsClient(profile);Create the request object.
CreateClusterRequest request = new CreateClusterRequest(); // Required parameters. request.setPayType("PayAsYouGo"); request.setRegionId("cn-hangzhou"); request.setZoneId("cn-hangzhou-e"); request.setMajorVersion("3.11"); request.setInstanceType("cassandra.c.large"); request.setNodeCount("2"); request.setVpcId("vpc-wz9s6dl6nttp1****ydur"); request.setVswitchId("vsw-wz9c90poaus9q****1dxl"); // Optional parameters. request.setPeriodUnit("Year");// This parameter is required if PayType is set to Subscription. request.setPeriod("12");// This parameter is required if PayType is set to Subscription. request.setAutoRenew("false");// This parameter is required if PayType is set to Subscription. request.setAutoRenewPeriod("3");// This parameter is required if PayType is set to Subscription. request.setClientToken("ETnLKlblzczshOTUbOCzxxxxxxxxxx"); request.setClusterName("cassandra_01"); request.setDataCenterName("cassandra_dc_01"); request.setDiskType("cloud_ssd"); request.setDiskSize("160"); request.setPassword("Cassandra1@!");Invoke the request.
CreateClusterResponse response; try { response = client.getAcsResponse(request); System.out.println(new Gson().toJson(response)); } catch (ClientException e) { e.printStackTrace(); }
Example
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",
"LTAI****************", "yourAccessKeySecret");
DefaultProfile.addEndpoint(
"cn-hangzhou", // The region ID.
"cassandra", // The product code.
"cassandra.aliyuncs.com" // The endpoint, which is a domain name.
);
IAcsClient client = new DefaultAcsClient(profile);
CreateClusterRequest request = new CreateClusterRequest();
// Required parameters.
request.setPayType("PayAsYouGo");
request.setRegionId("cn-hangzhou");
request.setZoneId("cn-hangzhou-e");
request.setMajorVersion("3.11");
request.setInstanceType("cassandra.c.large");
request.setNodeCount("2");
request.setVpcId("vpc-wz9s6dl6nttp1****ydur");
request.setVswitchId("vsw-wz9c90poaus9q****1dxl");
// Optional parameters.
request.setPeriodUnit("Year");// This parameter is required if PayType is set to Subscription.
request.setPeriod("12");// This parameter is required if PayType is set to Subscription.
request.setAutoRenew("false");// This parameter is required if PayType is set to Subscription.
request.setAutoRenewPeriod("3");// This parameter is required if PayType is set to Subscription.
request.setClientToken("ETnLKlblzczshOTUbOCzxxxxxxxxxx");
request.setClusterName("cassandra_01");
request.setDataCenterName("cassandra_dc_01");
request.setDiskType("cloud_ssd");
request.setDiskSize("160");
request.setPassword("Cassandra1@!");
CreateClusterResponse response;
try {
response = client.getAcsResponse(request);
System.out.println(new Gson().toJson(response));
} catch (ClientException e) {
e.printStackTrace();
}Sample response
{
"ClusterId":"hb-bp16o0pd5****582s",
"RequestId":"728C7EAF-4844-4D42-9BBE-DFFFBB77CF33"
}Call ResizeNodeCount to scale out nodes in a data center
Set environment parameters.
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI****************", "yourAccessKeySecret"); // The following parameters are optional. You can use the default values. DefaultProfile.addEndpoint( "cn-hangzhou", // The region ID. "cassandra", // The product code. "cassandra.aliyuncs.com" // The endpoint, which is a domain name. );Initialize the client.
IAcsClient client = new DefaultAcsClient(profile);Create the request object.
ResizeNodeCountRequest request = new ResizeNodeCountRequest(); request.setClusterId("cds-bp1b136j****5d59"); request.setDataCenterId("cn-hangzhou-g"); request.setNodeCount("3");Invoke the request.
ResizeNodeCountResponse response; try { response = client.getAcsResponse(request); System.out.println(new Gson().toJson(response)); } catch (ClientException e) { e.printStackTrace(); }
Example
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",
"LTAI****************", "yourAccessKeySecret");
DefaultProfile.addEndpoint(
"cn-hangzhou", // The region ID.
"cassandra", // The product code.
"cassandra.aliyuncs.com" // The endpoint, which is a domain name.
);
IAcsClient client = new DefaultAcsClient(profile);
ResizeNodeCountRequest request = new ResizeNodeCountRequest();
request.setClusterId("cds-bp1b136j****5d59");
request.setDataCenterId("cn-hangzhou-g");
request.setNodeCount("3");
ResizeNodeCountResponse response;
try {
response = client.getAcsResponse(request);
System.out.println(new Gson().toJson(response));
} catch (ClientException e) {
e.printStackTrace();
}Sample response
{
"RequestId": "D7D3088F-AA4F-49C3-BB46-B04F3E35041A"
}Call DeleteCluster to delete a Cassandra cluster
Set environment parameters.
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI****************", "yourAccessKeySecret"); // The following parameters are optional. You can use the default values. DefaultProfile.addEndpoint( "cn-hangzhou", // The region ID. "cassandra", // The product code. "cassandra.aliyuncs.com" // The endpoint, which is a domain name. );Initialize the client.
IAcsClient client = new DefaultAcsClient(profile);Create the request object.
DeleteClusterRequest request = new DeleteClusterRequest(); request.setClusterId("cds-bp1hy2ipk****46k");Invoke the request.
DeleteClusterResponse response; try { response = client.getAcsResponse(request); System.out.println(new Gson().toJson(response)); } catch (ClientException e) { e.printStackTrace(); }
Example
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",
"LTAI****************", "yourAccessKeySecret");
DefaultProfile.addEndpoint(
"cn-hangzhou", // The region ID.
"cassandra", // The product code.
"cassandra.aliyuncs.com" // The endpoint, which is a domain name.
);
IAcsClient client = new DefaultAcsClient(profile);
DeleteClusterRequest request = new DeleteClusterRequest();
request.setClusterId("cds-bp1hy2ipk****46k");
DeleteClusterResponse response;
try {
response = client.getAcsResponse(request);
System.out.println(new Gson().toJson(response));
} catch (ClientException e) {
e.printStackTrace();
}Sample response
{
"RequestId":"728C7EAF-4844-4D42-9BBE-DFFFBB77CF33"
}