更新时间:2026-10-30 GMT+08:00
Go SDK调用示例
本文以调用DWS的查询规格信息(ListNodeTypes)接口为例,介绍华为云Go SDK的使用方法。
安装SDK
在命令终端执行以下命令安装华为云Go SDK。以0.1.218版本的Go SDK为例,最新的SDK版本信息可通过SDK中心查看获取。
go get github.com/huaweicloud/huaweicloud-sdk-go-v3
使用SDK
以下是一个完整的Go示例,演示如何使用华为云Go SDK调用查询规格信息(ListNodeTypes)接口。
- 如果需要获取其他接口的SDK示例,请参见获取SDK示例代码。
- 本示例中仅提供了基本的接口参数配置说明,更多的进阶配置请参见SDK的用户手册。
- 如果把认证用的AK/SK直接写到代码中会有较大的安全风险,建议在配置文件或环境变量中以密文存放AK/SK,使用时解密,确保安全。本示例中把AK和SK保存为环境变量CLOUD_SDK_AK和CLOUD_SDK_SK,具体操作请参见环境变量。
package main
import (
"fmt"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
dws "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dws/v2"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dws/v2/model"
region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dws/v2/region"
)
func main() {
// ==================== 初始化客户端 ====================
// 从环境变量获取AK/SK,运行前需要提前把AK/SK设置为环境变量
ak := os.Getenv("CLOUD_SDK_AK")
sk := os.Getenv("CLOUD_SDK_SK")
// 配置认证凭证
auth, err := basic.NewCredentialsBuilder().
WithAk(ak).
WithSk(sk).
SafeBuild()
if err != nil {
fmt.Println(err)
return
}
// 初始化客户端
hcClient, err := dws.DwsClientBuilder().
WithRegion(region.ValueOf("af-north-1")).
WithCredential(auth).
SafeBuild()
if err != nil {
fmt.Println(err)
return
}
client := dws.NewDwsClient(hcClient)
// ==================== 构造请求对象 ====================
// 使用SDK中提供的Request对象封装请求参数
request := &model.ListNodeTypesRequest{}
// ==================== 发起请求并处理响应 ====================
// 通过客户端调用对应API发起请求,调用成功将返回Response对象,调用失败将在err中返回错误信息
response, err := client.ListNodeTypes(request)
if err == nil {
fmt.Printf("%+v\n", response)
} else {
fmt.Println(err)
}
}