0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS IoT MQTT接続のprefix設定

Last updated at Posted at 2022-06-29

はじめに

同一AWS アカウントでIoT MQTTコネクションの管理を分けたいことがあるのですが、あまり情報が無かったので記事にします。
IoT Ruleでサービス毎にコネクションのサブスクライブすることをゴールとします。

MQTTコネクション

AWSからAndroid SDKが出ているのでそちらを使用しています。
Androidで接続する場合、MQTT接続する際にAWSIotMqttManagerを定義します。

public AWSIotMqttManager(String mqttClientId, Region region, String accountEndpointPrefix)

regionとaccountEndpointPrefixは固定なので、こちらで好きな値を入れることはできません。

mqttClientIdに一意なIDを入れ、AWS IoTのMQTTテストクライアントでテストします。
$aws/events/presence/connected/+でサブスクライブし、AndroidからMQTT接続を行うと接続情報が取得できます。
mqtt_connect.png

prefix付MQTTコネクション

mqttClientIdにprefixを付けます。

var mqttClientId = "test/${id}"

$aws/events/presence/connected/test/+でサブスクライブし、MQTT接続します。
ちゃんと取得できてます。
mqtt_connect_prifix.png

$aws/events/presence/connected/+の方には出てきませんでした。
mqttClientIdにprefixを付けることでサービス毎にコネクションの管理ができそうですね!

補足

mqttClientIdはIoT CoreのDevice IDを入れると後々どのデバイスの接続情報かわかるのでおすすめです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?