物联网平台提供Go语言的云端SDK供开发人员使用。本文介绍云端Go SDK的安装和配置,及使用Go SDK调用云端API的示例。
安装SDK
初始化SDK
package main
import "github.com/aliyun/alibaba-cloud-sdk-go/services/iot"
func main() {
client, err := sdk.NewClientWithAccessKey("<your regionId>", "<your accessKey>",
"<your accessSecret>")
if err != nil {
// Handle exceptions
panic(err)
}
}
参数 | 说明 |
---|---|
regionId | 阿里云服务地域代码,例如华东2为cn-shanghai 。请参见地域和可用区。
|
accessKey | 您的阿里云账号的AccessKey ID。您可在阿里云官网控制台AccessKey管理中,创建或查看您的AccessKey。 |
accessSecret | AccessKey ID对应的AccessKey Secret。在阿里云官网控制台AccessKey管理中查看。 |
发起调用
物联网平台云端API,请参见API列表。有关request
中请求参数说明,及response
中返回参数说明,请参见对应API文档。
本文以调用Pub接口发布消息到Topic为例。请求参数信息,请参见Pub。
注意 以下代码中iotInstanceId为实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID。
- 若有ID值,必须传入该ID值,否则调用API会失败。
- 若无实例概览页面或ID值,则无需传入。
实例的详细内容,请参见实例概述。
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示例代码。示例代码中包含Java、Python、PHP、.NET和Go版本SDK示例。
阿里云提供API在线调试工具OpenAPI Explorer。在OpenAPI Explorer页面,您可以快速检索和试验调用API。系统可根据您输入的参数同步生成各语言SDK的示例代码。各语言SDK示例代码显示在页面右侧示例代码页签下。在调试结果页签下,查看API调用的真实请求URL和JSON格式的返回结果。