3. 安装SDK
您可以通过Maven方式获取和安装SDK,首先需要在您的操作系统中下载并安装Maven ,安装完成后您只需要在Java项目的pom.xml文件中加入相应的依赖项即可。
使用服务端SDK前,您需要安装“huaweicloud-sdk-core”和“huaweicloud-sdk-dws”,具体的SDK版本号请参见 SDK开发中心 。
Copied!
<dependency>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-core</artifactId>
<version>3.0.69</version>
</dependency>
<dependency>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-dws</artifactId>
<version>3.0.80</version>
</dependency>
4. 开始使用
4.1 导入依赖模块
Copied!
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.dws.v2.DwsClient;
import com.huaweicloud.sdk.dws.v2.model.CreateClusterInfo;
import com.huaweicloud.sdk.dws.v2.model.CreateClusterRequest;
import com.huaweicloud.sdk.dws.v2.model.CreateClusterRequestBody;
import com.huaweicloud.sdk.dws.v2.model.CreateClusterResponse;
import com.huaweicloud.sdk.dws.v2.model.PublicIp;
import com.huaweicloud.sdk.dws.v2.region.DwsRegion;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
4.2 初始化认证
Copied!
String ak = System.getenv("HUAWEICLOUD_SDK_AK");
String sk = System.getenv("HUAWEICLOUD_SDK_SK");
BasicCredentials credentials = new BasicCredentials().withAk(ak).withSk(sk).withProjectId(projectId);
4.3 初始化DwsClient
Copied!
DwsClient client = DwsClient.newBuilder()
.withCredential(credentials)
.withRegion(DwsRegion.valueOf(regionId))
.build();
4.4 配置创建集群相关参数,构建请求体
Copied!
CreateClusterRequest request = new CreateClusterRequest();
CreateClusterInfo clusterInfo = new CreateClusterInfo()
.withNodeType(nodeType)
.withNumberOfNode(numberOfNode)
.withNumberOfCn(numberOfCn)
.withSubnetId(subnetId)
.withSecurityGroupId(securityGroupId)
.withVpcId(vpcId)
.withAvailabilityZone(availabilityZone)
.withPort(port)
.withName(name)
.withUserName(username)
.withUserPwd(userpwd)
.withPublicIp(new PublicIp().withPublicBindType(publicBindType).withEipId(eipId))
.withEnterpriseProjectId(enterpriseProjectId);
CreateClusterRequestBody requestBody = new CreateClusterRequestBody().withCluster(clusterInfo);
request.setBody(requestBody);
4.5 接收响应参数
Copied!
CreateClusterResponse response = client.createCluster(request);
logger.info(response.toString());
DWS openapi示例(Java版本)
0. 版本说明
本示例基于华为云SDK V3.0版本开发。
1. 示例简介
华为云提供了数据仓库服务(DWS)的SDK,您可以直接集成SDK来调用DWS的相关API,从而实现对DWS的快速操作。 该示例展示了如何通过java版创建集群。 集群必须要运行在VPC之内,创建集群前,您需要先创建VPC,并获取VPC和子网的id。 该接口为异步接口,创建集群需要10~15分钟。
2. 开发前准备
3. 安装SDK
您可以通过Maven方式获取和安装SDK,首先需要在您的操作系统中下载并安装Maven ,安装完成后您只需要在Java项目的pom.xml文件中加入相应的依赖项即可。
使用服务端SDK前,您需要安装“huaweicloud-sdk-core”和“huaweicloud-sdk-dws”,具体的SDK版本号请参见 SDK开发中心 。
<dependency> <groupId>com.huaweicloud.sdk</groupId> <artifactId>huaweicloud-sdk-core</artifactId> <version>3.0.69</version> </dependency> <dependency> <groupId>com.huaweicloud.sdk</groupId> <artifactId>huaweicloud-sdk-dws</artifactId> <version>3.0.80</version> </dependency>
4. 开始使用
4.1 导入依赖模块
// 用户身份认证 import com.huaweicloud.sdk.core.auth.BasicCredentials; //导入dws的客户端 import com.huaweicloud.sdk.dws.v2.DwsClient; //导入配置集群参数和创建集群的请求响应类 import com.huaweicloud.sdk.dws.v2.model.CreateClusterInfo; import com.huaweicloud.sdk.dws.v2.model.CreateClusterRequest; import com.huaweicloud.sdk.dws.v2.model.CreateClusterRequestBody; import com.huaweicloud.sdk.dws.v2.model.CreateClusterResponse; import com.huaweicloud.sdk.dws.v2.model.PublicIp; import com.huaweicloud.sdk.dws.v2.region.DwsRegion; // 日志打印 import org.slf4j.Logger; import org.slf4j.LoggerFactory;
4.2 初始化认证
// 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 String ak = System.getenv("HUAWEICLOUD_SDK_AK"); String sk = System.getenv("HUAWEICLOUD_SDK_SK"); BasicCredentials credentials = new BasicCredentials().withAk(ak).withSk(sk).withProjectId(projectId);
4.3 初始化DwsClient
DwsClient client = DwsClient.newBuilder() .withCredential(credentials) .withRegion(DwsRegion.valueOf(regionId)) .build();
4.4 配置创建集群相关参数,构建请求体
CreateClusterRequest request = new CreateClusterRequest(); // 配置创建集群相关参数 CreateClusterInfo clusterInfo = new CreateClusterInfo() .withNodeType(nodeType) .withNumberOfNode(numberOfNode) .withNumberOfCn(numberOfCn) .withSubnetId(subnetId) .withSecurityGroupId(securityGroupId) .withVpcId(vpcId) .withAvailabilityZone(availabilityZone) .withPort(port) .withName(name) .withUserName(username) .withUserPwd(userpwd) .withPublicIp(new PublicIp().withPublicBindType(publicBindType).withEipId(eipId)) .withEnterpriseProjectId(enterpriseProjectId); // 构建请求体 CreateClusterRequestBody requestBody = new CreateClusterRequestBody().withCluster(clusterInfo); request.setBody(requestBody);
4.5 接收响应参数
CreateClusterResponse response = client.createCluster(request); logger.info(response.toString());
5. FAQ
暂无
6. 参考
更多信息请参考 数据仓库服务文档
7. 修订记录