连接后,断开AWS IoT设备的连接

时间:2018-02-16 13:41:03

标签: amazon-web-services amazon-cognito aws-iot

我正在开发一个用户可以使用AWS Cognito登录的Web应用程序。使用AWS凭据登录后,我正在连接到AWS IoT设备,如

var device = AwsIot.device({ 
    clientId: clientID, 
    host: host, 
    accessKeyId: credentials.accessKeyId, 
    secretKey: credentials.secretAccessKey, 
    protocol: 'wss', 
    sessionToken: credentials.sessionToken, 
    offlineQueueing: 'false' 
}); 

然后,一旦用户使用

使用AWS Cognito从应用程序注销
cognitoUser.signOut(); 

然后在注销后我想断开AWS IoT设备的连接。 现在我甚至在注销后看到设备正在收听像

这样的事件
device.on('close', function() {}) 
device.on('error', function() {}) 
device.on('offline', function() {}) 

有人可以指定我应该调用哪个功能来断开设备,以便它也不会听这些事件。

我正在阅读文档https://github.com/aws/aws-iot-device-sdk-js但我没有任何具体的功能。

此外,我使用AWS凭证连接AWS IoT设备,一旦我从Cognito注销,我认为该设备应该已自动断开连接。请告诉我这里的方法应该是什么。

1 个答案:

答案 0 :(得分:1)

我从AWS IOT支持团队那里得到了答案。

  

AwsIot.device类是MQTT类的包装器,带有帮助程序以帮助连接到AWS端点要断开设备连接,可以调用device.end();这将关闭连接并调用{{1} }。至于Cognito退出。这不会使Cognito已提供的用于建立连接的会话凭据无效。它们将继续有效,直到它们的假定角色时间到期为止。