Webアプリケーションのリアルタイム更新にAWSIoTを使用しています。アプリケーションは aws-iot-device-sdk を使用してAWSIoTに接続します。
const client = awsIot.device({
region: awsConfig.region,
protocol: 'wss',
accessKeyId: <accessKey>,
secretKey: <secretKey>,
sessionToken: <sessionToken>,
port: 443,
Host: <iotEndpoint>
});
client.on('connect', res => {
// ok
});
AWSを使いたい ライフサイクルイベント 。例えば:
$aws/events/presence/connected/{clientId}
MQTTクライアントIDを取得する方法は?
ドキュメント を見ると、clientId
がdevice()
メソッドに指定できるパラメータの1つであることがわかります。接続されているデバイスごとに、アプリケーションに固有の(つまり、AWS IoTアカウントに固有の)クライアントIDを生成する必要があります。
AWS IoTでモノを定義するたびに、AWSIoTアカウントのデバイスに一意の識別子が割り当てられます。デフォルトでは、thing(defaultClientId)の名前と同じであり、AWSIoTブローカーへの接続に使用できます。 AWS SDK(またはデバイスの名前)を使用して、自分のことに関する情報を取得できます。たとえば、Python SDK:
import boto3
client = boto3.client('iot')
response = client.describe_thing(
thingName = [Name of your thing in AWS IoT]
)
print(response)