SDK使用说明
简介
- 靠谱云开发者工具套件(SDK),是OpenAPI的配套工具,实现了统一化,各个接口调用方式相同、错误码和返回格式相同。
- 目前仅支持 Java 编程语言,会陆续支持Python、Go等编程语言。
- 目前已经支持云服务器、存储、弹性公网IP等产品,后续所有的云服务产品都会陆续接入。
SDK列表
产品服务
源码下载:kpy-ecs-1.1.7.jar
Maven仓库
<dependency> <groupId>com.aiya.kpy.java.sdk</groupId> <artifactId>kpy-ecs</artifactId> <version>1.1.7</version> </dependency>
使用范围:云服务器、弹性公网IP、云硬盘、镜像、共享带宽等
财务服务
Maven仓库
<dependency> <groupId>com.aiya.kpy.java.sdk</groupId> <artifactId>kpy-finance</artifactId> <version>1.1.2</version> </dependency>
使用前提
- 要使用靠谱云 Java SDK,您需要拥有靠谱云账号及该账号对应的AccessKey(AK)和AccessKeySecret(SK),请与我们联系获取AK和SK。
- 靠谱云 Java SDK 支持 Java JDK 1.8 及其以上版本。
获取和安装
方式一、通过 Maven 安装(推荐)
Maven 是 Java 的依赖管理工具,支持您项目所需的依赖项,并将其安装到项目中。
以使用云服务器为例(推荐使用Maven仓库最新版本):
<dependency>
<groupId>com.aiya.kpy.java.sdk</groupId>
<artifactId>kpy-ecs</artifactId>
<version>1.1.3</version>
</dependency>
方式二、通过源码包安装
- 下载源码压缩包 源码下载。
- 使用 maven 命令编译打包源码。
快速开始
以获取实例详情为例。
初始化Client
创建一个 KpyunSdkClient 并实例化,在 Java SDK 中,通过 Client 发起目标操作请求。
在实例化 KpyunSdkClient 时,通过AK 和 SK及其他公共参数,生成客户端访问的Key。
构建参数
创建 DescribeInstanceRequest 并实例化,作为请求的参数对象。
在 Java SDK 中, *Request 对象都是请求的参数类。
请求参数需要通过 set 方法设置,每个参数类中属性注释 NotEmpty 代表必要参数。如果缺少必要参数, SDK 将抛出异常。
发起请求
public void describeInstance(String platformRegionCode, String platformZoneCode, String instanceUUID) throws DescribeInstanceException, InstanceNotExistException, InstanceHasDeletedException { ResZoneProviderAccountEntity account = this.getResZoneProviderAccountEntity(platformRegionCode,platformZoneCode); DescribeInstanceRequest request = new DescribeInstanceRequest(); request.setInstanceUUID(instanceUUID); if(Enviroment.instance().isProductMode()){ request.setAcsProtocol(ProtocolType.HTTPS); } KpyunSdkClient kpyunSdkClient = kpyunSdkClientCache.getCacheKpyunSdkClient(account, KpyunProduct.ECS); KpySdkResponse<DescribeInstanceResponse> resp = kpyunSdkClient.execute(request); if (!resp.isSuccess()) { if("AvailableInstanceNotFound".equals(resp.getCode())){ throw new InstanceNotExistException("主机不存在"); } if("IncorrectInstanceStatus.Deleted".equals(resp.getCode())){ throw new InstanceHasDeletedException("主机已删除"); } throw new DescribeInstanceException(resp.getErrMsg()); } }