创建集群
引导式阅读
Python
创建集群
作者
C***
上架时间
2023-11-13 08:43:32

DWS openapi示例(Python版本)

0. 版本说明

本示例基于华为云SDK开发。

1. 示例简介

华为云提供了数据仓库服务(DWS)的SDK,您可以直接集成SDK来调用DWS的相关API,从而实现对DWS的快速操作。 该示例展示了如何通过Python版创建集群。 集群必须要运行在VPC之内,创建集群前,您需要先创建VPC,并获取VPC和子网的id。 该接口为异步接口,创建集群需要10~15分钟。

2. 开发前准备

  • 已注册华为云,并完成实名认证。
  • 已获取云堡垒机服务对应区域终端节点地址,具体请参考 地区和终端节点
  • 已获取华为云账号对应的Access Key(AK)和Secret Access Key(SK)。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的AK/SK。具体请参见 访问密钥
  • 已获取对应区域的项目ID,请在华为云控制台“我的凭证 > API凭证”页面上查看项目ID。具体请参见 API凭证
  • 已具备开发环境 ,支持Python3及其以上版本。

3. 安装SDK

使用服务端SDK前,您需要安装“huaweicloudsdkdws”,具体的SDK版本号请参见 SDK开发中心

pip install huaweicloudsdkdws

4. 开始使用

4.1 导入依赖模块

#用户身份认证 from huaweicloudsdkcore.auth.credentials import BasicCredentials #导入dws的客户端 from huaweicloudsdkdws.v2.dws_client import DwsClient #导入配置集群参数和创建集群的请求响应类 from huaweicloudsdkdws.v2.model.create_cluster_info import CreateClusterInfo from huaweicloudsdkdws.v2.model.create_cluster_request import CreateClusterRequest from huaweicloudsdkdws.v2.model.create_cluster_request_body import CreateClusterRequestBody from huaweicloudsdkdws.v2.model.public_ip import PublicIp from huaweicloudsdkdws.v2.region.dws_region import DwsRegion

4.2 初始化认证

# 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak = os.environ["HUAWEICLOUD_SDK_AK"] sk = os.environ["HUAWEICLOUD_SDK_SK"] credentials = BasicCredentials( ak=ak, sk=sk, project_id=project_id )

4.3 初始化DwsClient

client = DwsClient.new_builder() \ .with_credentials(credentials=credentials) \ .with_region(region=DwsRegion.value_of(region_id=region_id)) \ .build()

4.4 配置创建集群相关参数,构建请求体

request = CreateClusterRequest() // 配置创建集群相关参数 cluster_info = CreateClusterInfo( node_type=node_type, number_of_node=number_of_node, number_of_cn=number_of_cn, subnet_id=subnet_id, security_group_id=security_group_id, vpc_id=vpc_id, availability_zone=availability_zone, port=port, name=name, user_name=username, user_pwd=userpwd, public_ip=PublicIp( public_bind_type=public_bind_type, eip_id=eip_id ), enterprise_project_id=enterprise_project_id ) // 构建请求体 request_body = CreateClusterRequestBody( cluster=cluster_info ) request.body = request_body

4.5 接收响应参数

response = client.create_cluster(request) print(response)

5. FAQ

暂无

6. 参考

更多信息请参考 数据仓库服务文档

7. 修订记录

发布日期 文档版本 修订说明
2022-3-21 1.0 文档首次发布