🤖
AWS SDK for Go V2のiotdataplaneを使ってPublishする方法
AWS SDK for Go V2のiotdataplaneを使ってPublishする方法です。
1.AWSIoTFullAccess(実際は適宜権限を絞ってください)を持っているIAMユーザーで
アクセスキー、シークレットキーを生成
2.EC2に環境変数を設定する
export AWS_REGION=ap-northeast-1
export AWS_ACCESS_KEY_ID=YOUR_AKID
export AWS_SECRET_ACCESS_KEY=YOUR_SECRET_KEY
3.AWS SDK for Go V2をインストール
go get github.com/aws/aws-sdk-go-v2
go get github.com/aws/aws-sdk-go-v2/config
go get github.com/aws/aws-sdk-go-v2/service/iotdataplane
4.Goのコードを書く
//AWSの設定情報を取得
cfg, err := config.LoadDefaultConfig(context.TODO())
if err != nil {
return err
}
//IoTClientを生成
iotClient := iotdataplane.NewFromConfig(cfg)
//topic名を設定
topicName := test/publish
//MQTTトピックとデータとQosを設定
//PayloadDataは構造体
publishJsonData, _ := json.Marshal(PayloadData)
params := &iotdataplane.PublishInput{
Topic: &topicName,
Payload: publishJsonData,
Qos: 1,
}
//publish
result, err := iotClient.Publish(context.TODO(), params)
if err != nil {
return err
}
fmt.Printf("%+v", result)
return nil
参考
Getting Started with the AWS SDK for Go V2
iotdataplane
AWS IoT Core(HTTPS POSTを使ってメッセージのPublish)の公式サイト
Discussion