IoT Platform は、Go 用の SDK を提供しています。このトピックでは、Go 用の IoT Platform SDK をインストールおよび構成する方法について説明します。また、SDK を使用して IoT Platform の API 操作を呼び出す方法のサンプルコードも提供します。
SDK のインストール
Go をインストールします。
Go 1.6 以降がサポートされています。Go のインストールパッケージを入手するには、Go の公式 Web サイトにアクセスしてください。
Go をインストールした後、GOPATH という名前のシステム変数を作成し、値をコードディレクトリに設定します。
GOPATH 変数の詳細については、
go help gopathコマンドを実行してください。次のコマンドを実行して、Go 用の Alibaba Cloud SDK をインストールします。
go get -u github.com/aliyun/alibaba-cloud-sdk-go/sdk詳細については、alibaba-cloud-sdk-go をご覧ください。
次のコマンドを実行して、Go 用の IoT Platform 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 {
// 例外を処理します
panic(err)
}
}
パラメーター | 説明 |
regionId | IoT Platform のリージョン ID。たとえば、中国 (上海) リージョンの ID は |
リクエストの開始
IoT Platform の API 操作の詳細については、「関数別の操作リスト」をご参照ください。各 API 操作の request パラメーターと response パラメーターの詳細については、API ドキュメントをご参照ください。
次の例は、Pub 操作を呼び出して、トピックにメッセージをパブリッシュする方法を示しています。リクエストパラメーターの詳細については、「Pub」をご参照ください。
次のサンプルコードでは、${iotInstanceId} はインスタンスの ID を指定します。インスタンスの [ID] は、IoT Platform コンソールの [概要] ページで確認できます。
インスタンスに ID がある場合は、このパラメーターに ID を指定する必要があります。指定しないと、リクエストは失敗します。
インスタンスに [概要] ページまたは ID が生成されていない場合は、このパラメーターを指定する必要はありません。IotInstanceId パラメーターに関連するリクエストコードを削除するか、パラメーターに空の文字列 (
"") を指定する必要があります。指定しないと、リクエストは失敗します。
IoT Platform インスタンスの詳細については、「概要」をご参照ください。インスタンスの購入方法の詳細については、「Enterprise Edition インスタンスを購入する」をご参照ください。よくある質問については、「IoT Platform インスタンスに関する FAQ」をご参照ください。
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)付録: サンプルコード
API 操作のサンプルコードは、IoT Platform SDK Sample Center で表示またはダウンロードできます。Java、Python、PHP、.NET、および Go 用の SDK のサンプルコードが提供されています。
Alibaba Cloud OpenAPI Explorer は、API 操作のオンラインデバッグツールを提供しています。[API デバッグ] ページで、API 操作の検索、API 操作の呼び出し、およびさまざまな SDK の API 操作のサンプルコードの生成を行うことができます。ページの右側にある [サンプルコード] タブで、SDK のサンプルコードを表示できます。[デバッグ結果] タブで、実際の リクエスト URL と JSON 形式の応答を表示できます。