web-dev-qa-db-ja.com

AWS IOTクライアントIDを取得する方法は?

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を取得する方法は?

5
Ildar

ドキュメント を見ると、clientIddevice()メソッドに指定できるパラメータの1つであることがわかります。接続されているデバイスごとに、アプリケーションに固有の(つまり、AWS IoTアカウントに固有の)クライアントIDを生成する必要があります。

1
Mark B

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)
2
Keivan