2017-10-08 119 views
0

我正在我的web應用程序中進行實時更新。應用程序連接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來創建數據庫表中的記錄包含IOT主題ID。然後應用程序將該主題標識爲id:

client.subscribe(topicId) 

我想在客戶端從IOT斷開連接時刪除數據庫中的記錄。我應該怎麼做?我看到IOT中有一個disconnect event。但是我不明白如何在AWS lambda中處理這個事件。

+0

您似乎已經完成了所有研究並瞭解了使用哪種物聯網機制(儘管您也可以考慮使用LWT記錄)。你的問題具體是什麼?您是否正在尋求幫助來編寫可更新數據庫記錄的Lambda函數? –

+0

我正在尋找在斷開連接事件時運行lambda函數的幫助 – Ildar

回答

1

如果我理解正確,您在問客戶端斷開連接時如何觸發Lambda函數。

  1. 創建您希望由此事件觸發的Lambda函數,並將其部署到AWS。 (如果你被困在這一部分,請打開另一個問題)。
  2. 進入物聯網控制檯,並創建具有以下規則查詢語句的新規則:SELECT * FROM '$aws/events/presence/disconnected/#'

  3. 對於規則的行動,選擇「調用lambda函數」,然後選擇您先前部署的lambda函數。