【问题标题】:Disconnect AWS IoT device after it's connected连接 AWS IoT 设备后断开连接
【发布时间】:2018-07-27 10:33:56
【问题描述】:

我正在开发一个用户可以使用 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 注销,我认为该设备也应该自动断开连接。请让我知道这里应该采用什么方法。

【问题讨论】:

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


    【解决方案1】:

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

    AwsIot.device 类是 MQTT 类的包装器,带有帮助连接到 AWS 端点的帮助程序。要断开您的设备,您可以调用 device.end(); 这将关闭您的连接并调用 device.on('close')。至于 Cognito 注销。这不会使 Cognito 已经提供的用于建立连接的会话凭据失效。它们将继续有效,直到其担任角色的时间到期。

    【讨论】:

      猜你喜欢
      • 2018-03-16
      • 2014-07-17
      • 1970-01-01
      • 2020-03-28
      • 1970-01-01
      • 2016-02-14
      • 1970-01-01
      • 1970-01-01
      • 2013-05-09
      相关资源
      最近更新 更多