本文为您介绍如何安装并使用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>
请求步骤
导入相关产品的SDK。
import com.aliyun.tea.*; import com.aliyun.hologram20220601.*;
设置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";
新建AcsClient。
Client client = new Client(config);
创建Request对象,并设置请求参数。
GetInstanceRequest request = new GetInstanceRequest();
调用返回结果。
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
}
文档内容是否对您有帮助?