欢迎使用阿里云开发者工具套件(Alibaba Cloud SDK for Java)。Alibaba Cloud SDK for Java让您不用复杂编程即可访问云数据库HBase版。本文介绍如何安装并开始使用Alibaba Cloud SDK for Java。

在线调试和生成SDK示例

OpenAPI Explorer提供在线调用云产品API、动态生成SDK示例代码和快速检索接口等功能,能显著降低使用API的难度,推荐您使用。

前提条件

  • 已经创建了AccessKey,详情请参见创建AccessKey
    说明 为避免主账号泄露AccessKey带来的安全风险,建议您创建RAM用户,授予RAM用户访问HBase资源的权限,再使用RAM用户的AccessKey来调用SDK。详情请参见账号访问控制
  • 安装Java环境。Alibaba Cloud SDK for Java要求使用JDK1.6或更高版本。

安装Alibaba Cloud SDK for Java

您可以通过添加Maven依赖或者导入JAR文件来安装Java SDK,详细说明请参见安装Alibaba Cloud SDK for Java
说明 通过添加Maven依赖下载SDK包时,请选择最新版本的SDK。

使用Alibaba Cloud SDK for Java调用HBase API

  1. 创建DefaultAcsClient实例并初始化。
    DefaultProfile profile = DefaultProfile.getProfile(
        "<regionId>",         // 地域ID
        "<accessKeyId>",      // RAM账号的AccessKey ID
        "<accessKeySecret>"); // RAM账号Access Key Secret
    IAcsClient client = new DefaultAcsClient(profile);
  2. 设置地域和域名信息(可选)。
    DefaultProfile.addEndpoint(
        "<EndpointName>",  // Endpoint名称,可自定义
        "<regionId>",      // 地域ID
        "r-kvstore",       // 产品编码,HBase的编码固定为r-kvstore
        "<Endpoint>");     // 服务端地址
    说明 Endpoint是阿里云服务的API服务端地址。针对不同的地域,单个服务可能有不同的Endpoint。阿里云SDK内置了Endpoint寻址模块,当您调用SDK对一个服务发起请求时,SDK会自动根据您在创建SDK client时指定的地域ID(Region ID)和产品ID来找到Endpoint,所以该步骤为可选。
  3. 创建API请求并设置参数。
    DescribeInstanceRequest request = new DescribeInstanceRequest();
            request.setClusterId("ap-*****************");
  4. 发起请求并处理应答或异常。
    DescribeInstanceResponse response;
            try {
                response = client.getAcsResponse(request);
                System.out.println(new Gson().toJson(response));
            } catch (ClientException e) {
                e.printStackTrace();
            }

参考示例

DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",
                "ak******************", "akSecret********************");
        DefaultProfile.addEndpoint(
                "cn-hangzhou",    // 地域ID
                "hbase",    // 产品编码
                "hbase.aliyuncs.com"    // 接入地址,即域名
        );
        IAcsClient client = new DefaultAcsClient(profile);
        DescribeInstanceRequest request = new DescribeInstanceRequest();
        request.setClusterId("ap-******************");
        DescribeInstanceResponse response;
        try {
            response = client.getAcsResponse(request);
            System.out.println(new Gson().toJson(response));
        } catch (ClientException e) {
            e.printStackTrace();
        }

响应示例

{
    "requestId":"2817B189-6927-41E0-879F-*********",
    "instanceId":"ap-****************",
    "instanceName":"myInstanceName",
    "status":"ACTIVATION",
    "payType":"PayAsYouGo",
    "createdTime":"2019-10-31T21:50:14",
    "majorVersion":"2.0",
    "minorVersion":"2.4.3.1",
    "engine":"spark",
    "networkType":"VPC",
    "vpcId":"vpc-****************",
    "vswitchId":"vsw-****************",
    "masterInstanceType":"spark.sn1.medium",
    "masterNodeCount":2,
    "masterDiskType":"",
    "masterDiskSize":0,
    "coreInstanceType":"spark.sn1.large",
    "coreNodeCount":4,
    "coreDiskType":"cloud_efficiency",
    "coreDiskSize":100,
    "regionId":"cn-hangzhou",
    "zoneId":"cn-hangzhou-f",
    "coldStorageStatus":"close",
    "backupStatus":"close",
    "tags":[

    ]
}