更新时间:2024-10-22 GMT+08:00
Go SDK使用指南
物联网平台提供Go语言的应用侧SDK供开发者使用。本文介绍Go SDK的安装和配置,及使用Go SDK调用应用侧API的示例。
SDK获取和安装
- 安装Go开发环境。
访问Go官网,下载并按说明安装Go开发环境。
华为云 Go SDK 支持 Go 1.14 及以上版本。
- 安装华为云Go库
go get github.com/huaweicloud/huaweicloud-sdk-go-v3
- 安装依赖
go get github.com/json-iterator/go
代码示例
以调用查询设备列表接口为例,以下代码示例向您展示使用Go SDK的主要步骤:
- 创建认证。
- 创建IoTDAClient实例并初始化。
- 实例化请求对象。
- 调用查询设备列表接口。
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" // 标准版/企业版请使用 "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/region" // 基础版请使用"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/iotda/v5/region" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/region" //"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/iotda/v5/region" iotda "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/iotda/v5" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/iotda/v5/model" ) func main() { // 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") projectId := "<YOUR PROJECTID>" // regionID和endpoint用于标准版企业版自行创建region,基础版可删除 // region_id:如果是上海一,请填写"cn-east-3";如果是北京四,请填写"cn-north-4";如果是华南广州,请填写"cn-south-1" regionId := "<YOUR REGION ID>" // endpoint:请在控制台的"总览"界面的"平台接入地址"中查看"应用侧"的https接入地址 endpoint := "<YOUR ENDPOINT>" // 创建认证 auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). // 企业版/标准版需要使用衍生算法,基础版请删除该配置"WithDerivedPredicate" WithDerivedPredicate(auth.GetDefaultDerivedPredicate()). Build() // 创建IoTDAClient实例并初始化 client := iotda.NewIoTDAClient( iotda.IoTDAClientBuilder(). // 标准版/企业版需要自行创建region,基础版使用IoTDARegion中的region对象 WithRegion(region.NewRegion(regionId, endpoint)). // WithRegion(region.CN_NORTH_4). WithCredential(auth). // 配置是否忽略SSL证书校验, 默认不忽略 // WithHttpConfig(config.DefaultHttpConfig().WithIgnoreSSLVerification(true)). Build()) // 实例化请求对象 request := &model.ListDevicesRequest{} // 调用查询设备列表接口 response, err := client.ListDevices(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
更多
项目源码及更多详细的使用指导请参考华为云开发者 Go 软件开发工具包(Go SDK)。
父主题: 应用侧SDK