Java SDK参考

本文为您介绍如何安装并使用Hologres SDK for Java。

在线调试和生成SDK示例

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

前提条件

  • 已创建AccessKey,详情请参见创建AccessKey

  • 已安装Java环境。Hologres SDK for Java要求使用JDK1.6或更高版本。

  • 授予账号相应权限,详情请参见授予RAM用户权限

安装Alibaba Cloud SDK for Java

您可以通过添加Maven依赖或者其他方式导入依赖,详细说明请参见其他方式开始使用

说明

通过Maven下载SDK包时,请下载最新版本。

<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>hologram20220601</artifactId>
  <version>1.0.5</version>
</dependency>

请求步骤

  1. 导入相关产品的SDK。

    import com.aliyun.tea.*;
    import com.aliyun.hologram20220601.*;
  2. 设置AccessKey和域名,域名详情请参见Hologres服务区域列表

    说明

    建议使用环境变量的方式调用用户名和密码,降低密码泄露风险。

    Config config = new Config()
        // 您的AccessKey ID
        .setAccessKeyId(System.getenv("ALIBABA_CLOUD_USER"))
        // 您的AccessKey Secret
        .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_PASSWORD"));
    // 访问的域名
    config.endpoint = "hologram.cn-hangzhou.aliyuncs.com";
  3. 新建AcsClient。

    Client client = new Client(config);
  4. 创建Request对象,并设置请求参数。

    GetInstanceRequest request = new GetInstanceRequest();
  5. 调用返回结果。

    GetInstanceResponse response = client.getInstance("your_instance_id", request);
    System.out.println(JSON.toJSONString(response.getBody()));

参考示例

查询实例详情请求示例(适用于1.0.3及以上版本):

package com.aliyun.sample;

import com.aliyun.hologram20220601.models.GetInstanceResponse;
import com.aliyun.hologram20220601.models.GetInstanceResponseBody;
import com.aliyun.tea.*;
import com.aliyun.hologram20220601.*;

public class Sample {

    /**
     * 使用AK&SK初始化账号Client
     * @param accessKeyId
     * @param accessKeySecret
     * @return Client
     * @throws Exception
     */
    public static Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必填,您的 AccessKey ID
                .setAccessKeyId(accessKeyId)
                // 必填,您的 AccessKey Secret
                .setAccessKeySecret(accessKeySecret);
        // 访问的域名
        config.endpoint = "hologram.cn-hangzhou.aliyuncs.com";
        return new Client(config);
    }

    public static void main(String[] args_) throws Exception {
        java.util.List<String> args = java.util.Arrays.asList(args_);
        // 请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_USER 和 ALIBABA_CLOUD_PASSWORD。
        // 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例使用环境变量获取 AccessKey 的方式进行调用,仅供参考,建议使用更安全的 STS 方式。
        Client client = Sample.createClient(System.getenv("ALIBABA_CLOUD_USER"),
                System.getenv("ALIBABA_CLOUD_PASSWORD"));
        try {
            // 复制代码运行请自行打印 API 的返回值
            client.getInstance("instanceId");
        } catch (TeaException error) {
            // 如有需要,请打印 error
            com.aliyun.teautil.Common.assertAsString(error.message);
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // 如有需要,请打印 error
            com.aliyun.teautil.Common.assertAsString(error.message);
        }
    }
}

返回结果示例:

{
  "RequestId": "1E8EFA1E-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "Instance": {
    "SuspendReason": "",
    "ZoneId": "cn-hangzhou-h",
    "InstanceId": "hgpostcn-cn-xxxxxxxxxxxx",
    "InstanceChargeType": "PostPaid",
    "Memory": 64,
    "InstanceOwner": "123xxxxxxxxxxxx",
    "ColdStorage": 0,
    "Cpu": 16,
    "EnableHiveAccess": false,
    "InstanceName": "xxxx",
    "ComputeNodeCount": 1,
    "Endpoints": [
      {
        "Type": "Intranet",
        "Endpoint": "hgpostcn-cn-xxxxxxxxxxxx-cn-hangzhou-internal.hologres.aliyuncs.com:80",
        "Enabled": true
      },
      {
        "Type": "VPCSingleTunnel",
        "Endpoint": "hgpostcn-cn-xxxxxxxxxxxx-cn-hangzhou-vpc-st.hologres.aliyuncs.com:80",
        "VpcId": "vpc-xxxxxxxxxxxxxxxx",
        "VSwitchId": "vsw-xxxxxxxxxxxxxxxx",
        "Enabled": true,
        "VpcInstanceId": "hgpostcn-cn-xxxxxxxxxxxx-frontend-st"
      }
    ],
    "AutoRenewal": false,
    "Version": "r1.3.43",
    "InstanceStatus": "Running",
    "CommodityCode": "hologram_postpay_public_cn",
    "CreationTime": "2023-04-12T03:41:59.036Z",
    "InstanceType": "Standard",
    "Disk": 0,
    "Tags": [
      {
        "Value": "rg-xxxxxxxxxxxx",
        "Key": "acs:rm:rgId"
      }
    ]
  },
  "HttpStatusCode": 200,
  "Success": true
}