こんにちは、CX事業本部の若槻です。 案件でIoTデバイスのステート管理をDynamoDB上のテーブルで行うことになり、そのときに以下のような仕様が要求されました。(実際よりは簡潔化しています) デバイスは自身のステート変更時にステート情報をAWSに送信してくる。 テーブル(state_table)では以下のAttributionを管理する。 deviceId(String):デバイス識別ID(Partition Key) state(Boolean):デバイスのステートのブール値 deviceTimeStamp(String):ステート変更時にデバイス側で記録されるタイムスタンプ 新しいステートデータが送信されてくるたびに、そのデバイスのdeviceIdのキーのstateとdeviceTimeStampの値をDynamoDB上で更新する。 新規デバイスのステートデータは初回のステート送信