Go SDK使用说明

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

安装SDK

  1. 安装Go开发环境。

    目前支持Go 1.6及以上版本。请访问Go官网获取。

  2. Go安装完毕后,新建系统变量GOPATH,并将其指向您的代码目录。

    了解更多GOPATH相关信息,请执行命令go help gopath

  3. 执行以下命令安装阿里云Go SDK。

    go get -u github.com/aliyun/alibaba-cloud-sdk-go/sdk

    了解Go SDK详细信息,请访问alibaba-cloud-sdk-go

  4. 执行以下命令将IoT Go SDK相关文件引入Go文件。

    import "github.com/aliyun/alibaba-cloud-sdk-go/services/iot"

初始化SDK

package main
import (
    "github.com/aliyun/alibaba-cloud-sdk-go/sdk"
    "os"
)
func main() {
    accessKeyId := os.Getenv("ACCESS_KEY_ID")
    accessKeySecret := os.Getenv("ACCESS_KEY_SECRET")
    client, err := sdk.NewClientWithAccessKey("<your regionId>", accessKeyId, accessKeySecret)
    if err != nil {
        // Handle exceptions
        panic(err)
    }
}

参数

说明

regionId

阿里云服务地域代码,例如华东2为cn-shanghai。请参见支持的地域

发起调用

物联网平台云端API,请参见API列表。有关request中请求参数说明,及response中返回参数说明,请参见对应API文档。

本文以调用Pub接口发布消息到Topic为例。请求参数信息,请参见Pub

重要

以下代码中${iotInstanceId}为实例ID值。您可在物联网平台控制台的实例概览页面,查看当前实例的ID值。

  • 若有ID值,必须传入该ID值,否则调用API会失败。

  • 若无实例概览页面或ID值,则无需传入。您需删除IotInstanceId相关的请求代码,或传入空值"",否则调用API会失败。

实例的详细内容,请参见实例概述。购买实例方法,请参见购买企业版实例。常见问题,请参见物联网平台实例相关问题

request := iot.CreatePubRequest()
request.AcceptFormat = "json"
request.IotInstanceId = "<your iotInstanceId>"
request.ProductKey = "<your productKey>"
request.TopicFullName = fmt.Sprintf("/%s/%s/user/get", "<your productKey>", "<your deviceName>")
request.MessageContent = base64.StdEncoding.EncodeToString([]byte("hello world"))
request.Qos = "0"
response, err := client.Pub(request)
if err != nil {
    fmt.Print(err.Error())
}
fmt.Printf("response is %#v\n", response)

附录:示例代码

前往物联网平台云端SDK示例中心查看或下载API调用的示例代码。示例代码中包含Java、Python、PHP、.NET和Go版本SDK示例。

阿里云OpenAPI开发者门户提供API在线调试工具。在API调试页面,您可以快速检索和体验调用API。系统会根据您输入的参数同步生成各语言SDK的代码示例。各语言SDK代码示例显示在页面右侧SDK示例页签下供您参考。在调用结果页签下,可查看API调用的真实请求URL和JSON格式的返回结果。