更新时间:2024-10-22 GMT+08:00

Go SDK使用指南

物联网平台提供Go语言的应用侧SDK供开发者使用。本文介绍Go SDK的安装和配置,及使用Go SDK调用应用侧API的示例。

SDK获取和安装

  1. 安装Go开发环境。

    访问Go官网,下载并按说明安装Go开发环境。

    华为云 Go SDK 支持 Go 1.14 及以上版本。

  2. 安装华为云Go库

    go get github.com/huaweicloud/huaweicloud-sdk-go-v3

  3. 安装依赖

    go get github.com/json-iterator/go

代码示例

以调用查询设备列表接口为例,以下代码示例向您展示使用Go SDK的主要步骤:

  1. 创建认证。
  2. 创建IoTDAClient实例并初始化。
  3. 实例化请求对象。
  4. 调用查询设备列表接口。

    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)
    	}
    }

    参数

    说明

    ak

    您的华为云账号访问密钥ID(Access Key ID)。请在华为云控制台我的凭证 > 访问密钥页面上创建和查看您的 AK/SK。更多信息请查看访问密钥

    sk

    您的华为云账号秘密访问密钥(Secret Access Key)。

    IoTDARegion.CN_NORTH_4

    请替换为您要访问的物联网平台的区域,当前物联网平台可以访问的区域,在SDK代码region.go中已经定义。

    您可以在控制台上查看当前服务所在区域名称,区域名称、区域和终端节点的对应关系,具体步骤请参考地区和终端节点

更多

项目源码及更多详细的使用指导请参考华为云开发者 Go 软件开发工具包(Go SDK)