物聯(lián)網平臺提供Go語言的云端SDK供開發(fā)人員使用。本文介紹云端Go SDK的安裝和配置,及使用Go SDK調用云端API的示例。
安裝SDK
安裝Go開發(fā)環(huán)境。
目前支持Go 1.6及以上版本。請訪問Go官網獲取。
Go安裝完畢后,新建系統(tǒng)變量GOPATH,并將其指向您的代碼目錄。
了解更多GOPATH相關信息,請執(zhí)行命令
go help gopath
。執(zhí)行以下命令安裝阿里云Go SDK。
go get -u github.com/aliyun/alibaba-cloud-sdk-go/sdk
了解Go SDK詳細信息,請訪問alibaba-cloud-sdk-go。
執(zhí)行以下命令將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)
}
}
參數(shù) | 說明 |
regionId | 阿里云服務地域代碼,例如華東2為 |
發(fā)起調用
物聯(lián)網平臺云端API,請參見API列表。有關request
中請求參數(shù)說明,及response
中返回參數(shù)說明,請參見對應API文檔。
本文以調用Pub接口發(fā)布消息到Topic為例。請求參數(shù)信息,請參見Pub。
以下代碼中${iotInstanceId}
為實例ID值。您可在物聯(lián)網平臺控制臺的實例概覽頁面,查看當前實例的ID值。
若有ID值,必須傳入該ID值,否則調用API會失敗。
若無實例概覽頁面或ID值,則無需傳入。您需刪除IotInstanceId相關的請求代碼,或傳入空值
""
,否則調用API會失敗。
實例的詳細內容,請參見實例概述。購買實例方法,請參見購買企業(yè)版實例。常見問題,請參見物聯(lián)網平臺實例相關問題。
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)
附錄:示例代碼
前往物聯(lián)網平臺云端SDK示例中心查看或下載API調用的示例代碼。示例代碼中包含Java、Python、PHP、.NET和Go版本SDK示例。
阿里云OpenAPI開發(fā)者門戶提供API在線調試工具。在API調試頁面,您可以快速檢索和體驗調用API。系統(tǒng)會根據(jù)您輸入的參數(shù)同步生成各語言SDK的代碼示例。各語言SDK代碼示例顯示在頁面右側SDK示例頁簽下供您參考。在調用結果頁簽下,可查看API調用的真實請求URL和JSON格式的返回結果。