このドキュメントでは、Alibaba Cloud SDK for Java について説明します。この SDK を使用すると、OpenAPI 呼び出しを行うことで ApsaraDB for Cassandra インスタンスを管理できます。複雑なプログラミングなしで、インスタンスの作成、スペックアップ、削除、ホワイトリストの設定、タグの管理が可能です。この SDK は、Cassandra インスタンスのデータにアクセスするために使用される SDK とは異なります。このドキュメントでは、Alibaba Cloud SDK for Java のインストール方法と使用開始方法について説明します。
前提条件
AccessKey が作成されていること。詳細については、「AccessKey の取得」をご参照ください。
オンラインデバッグと SDK サンプルコードの生成
OpenAPI Explorer を使用すると、API の利用が簡単になります。API のオンライン呼び出し、SDK サンプルコードの生成、インターフェイスの迅速な取得が可能です。OpenAPI Explorer のページに移動し、Cassandra プロダクトを選択します。OpenAPI Explorer には API のリストが表示され、各 API にはさまざまなプログラミング言語のデバッグデモが含まれています。
Java 用 Alibaba Cloud SDK をダウンロードしてインストールする
Alibaba Cloud SDK for Java は、Maven 依存関係の追加または JAR ファイルのインポートによってインストールできます。詳細については、「Alibaba Cloud SDK for Java のインストール」をご参照ください。
Maven を使用して SDK パッケージをダウンロードする際は、必ず最新バージョンをダウンロードしてください。
例
DescribeClusterRequest を呼び出して Cassandra クラスター情報を取得
環境パラメーターを設定します。
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI****************", "yourAccessKeySecret"); // 以下のパラメーターはオプションです。デフォルト値を使用できます。 DefaultProfile.addEndpoint( "cn-hangzhou", // リージョン ID。 "cassandra", // プロダクトコード。 "cassandra.aliyuncs.com" // エンドポイント (ドメイン名)。 );クライアントを初期化します。
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(); }
例
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",
"LTAI****************", "yourAccessKeySecret");
DefaultProfile.addEndpoint(
"cn-hangzhou", // リージョン ID。
"cassandra", // プロダクトコード。
"cassandra.aliyuncs.com" // エンドポイント (ドメイン名)。
);
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();
}応答の例
{
"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"
}
]
}
}
}CreateCluster を呼び出して Cassandra クラスターを作成
環境パラメーターを設定します。
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI****************", "yourAccessKeySecret"); // 以下のパラメーターはオプションです。デフォルト値を使用できます。 DefaultProfile.addEndpoint( "cn-hangzhou", // リージョン ID。 "cassandra", // プロダクトコード。 "cassandra.aliyuncs.com" // エンドポイント (ドメイン名)。 );クライアントを初期化します。
IAcsClient client = new DefaultAcsClient(profile);リクエストオブジェクトを作成します。
CreateClusterRequest request = new CreateClusterRequest(); // 必須パラメーター。 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"); // オプションパラメーター。 request.setPeriodUnit("Year");// PayType が Subscription の場合に必須のパラメーターです。 request.setPeriod("12");// PayType が Subscription の場合に必須のパラメーターです。 request.setAutoRenew("false");// PayType が Subscription の場合に必須のパラメーターです。 request.setAutoRenewPeriod("3");// PayType が 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(); }
例
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",
"LTAI****************", "yourAccessKeySecret");
DefaultProfile.addEndpoint(
"cn-hangzhou", // リージョン ID。
"cassandra", // プロダクトコード。
"cassandra.aliyuncs.com" // エンドポイント (ドメイン名)。
);
IAcsClient client = new DefaultAcsClient(profile);
CreateClusterRequest request = new CreateClusterRequest();
// 必須パラメーター。
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");
// オプションパラメーター。
request.setPeriodUnit("Year");// PayType が Subscription の場合に必須のパラメーターです。
request.setPeriod("12");// PayType が Subscription の場合に必須のパラメーターです。
request.setAutoRenew("false");// PayType が Subscription の場合に必須のパラメーターです。
request.setAutoRenewPeriod("3");// PayType が 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();
}応答の例
{
"ClusterId":"hb-bp16o0pd5****582s",
"RequestId":"728C7EAF-4844-4D42-9BBE-DFFFBB77CF33"
}ResizeNodeCount を呼び出してデータセンターのノードをスケールアウト
環境パラメーターを設定します。
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI****************", "yourAccessKeySecret"); // 以下のパラメーターはオプションです。デフォルト値を使用できます。 DefaultProfile.addEndpoint( "cn-hangzhou", // リージョン ID。 "cassandra", // プロダクトコード。 "cassandra.aliyuncs.com" // エンドポイント (ドメイン名)。 );クライアントを初期化します。
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(); }
例
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",
"LTAI****************", "yourAccessKeySecret");
DefaultProfile.addEndpoint(
"cn-hangzhou", // リージョン ID。
"cassandra", // プロダクトコード。
"cassandra.aliyuncs.com" // エンドポイント (ドメイン名)。
);
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();
}応答の例
{
"RequestId": "D7D3088F-AA4F-49C3-BB46-B04F3E35041A"
}DeleteCluster を呼び出して Cassandra クラスターを削除
環境パラメーターを設定します。
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI****************", "yourAccessKeySecret"); // 以下のパラメーターはオプションです。デフォルト値を使用できます。 DefaultProfile.addEndpoint( "cn-hangzhou", // リージョン ID。 "cassandra", // プロダクトコード。 "cassandra.aliyuncs.com" // エンドポイント (ドメイン名)。 );クライアントを初期化します。
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(); }
例
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",
"LTAI****************", "yourAccessKeySecret");
DefaultProfile.addEndpoint(
"cn-hangzhou", // リージョン ID。
"cassandra", // プロダクトコード。
"cassandra.aliyuncs.com" // エンドポイント (ドメイン名)。
);
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();
}応答の例
{
"RequestId":"728C7EAF-4844-4D42-9BBE-DFFFBB77CF33"
}