如何处理 AWS IOT 中的断开连接事件?

How to handle disconnect event in AWS IOT?

我正在我的网络应用程序中进行实时更新。该应用程序使用 aws-iot-device-sdk:

连接到 AWS IOT
const client = awsIot.device({
    region: awsConfig.region,
    protocol: 'wss',
    accessKeyId: <accessKey>,
    secretKey: <secretKey>,
    sessionToken: <sessionToken>,
    port: 443,
    host: <iotEndpoint>
});

client.on('connect', res => {
    // ok
});

然后我向我的 API 发送请求,要求在数据库 table 中创建一条包含 IOT 主题 ID 的记录。然后申请订阅这个话题id:

client.subscribe(topicId)

我想在客户端与 IOT 断开连接时删除数据库中的记录。我该怎么做?我看到物联网中有一个disconnect event。但是我不明白如何在 AWS lambda 中处理这个事件。

如果我没理解错的话,你问的是客户端断开连接时如何触发Lambda函数。

  1. 创建您希望由此事件触发的 Lambda 函数,并将其部署到 AWS。 (如果你卡在这部分,请打开另一个问题)。
  2. 进入 IoT 控制台并使用以下规则查询语句创建新规则:SELECT * FROM '$aws/events/presence/disconnected/#'

  3. 对于规则的操作,select "Invoke Lambda Function" 然后 select 您之前部署的 Lambda 函数。