Я пытаюсь найти надежный способ отправки данных из лямбда-функции aws в вещь aws iot. По сути, это Raspberry Pi, который находится удаленно.
Я видел темы aws iot, но они не кажутся надежными для моего варианта использования.
Пока что я нашел следующие функции по темам
Темы:
- Темы асинхронны.
- Когда что-то добавляется в тему, все и только слушающие в данный момент устройства получат обновление.
- Очередей нет.
- Уведомление о доставке для издателя отсутствует.
В моем случае использования мне нужно знать, произведена ли доставка (в противном случае повторите попытку), но если устройство не подключено, тема может потерять запись.
Есть ли способ решить эту проблему. Любая помощь горячо приветствуется.
Редактировать:
Я пытаюсь отправить данные о пользователе, который может взаимодействовать с устройством с удаленного сервера.
Чтобы преодолеть ограничение темы для моего варианта использования, я придумал следующее решение.
Шаг 1: Dynamo -> lambda1 -> sqs -> topic1 -> удаленное устройство
Шаг 2: удаленное устройство (после получения данных) -> topic2 (подтверждение) -> lambda2 (удалить сообщение из sqs) -> Обновить БД о действии
Это решение кажется надежным?
Изменить 2:
В основном я пытаюсь отправить все обновления, сделанные в БД, в IOT Thing.
На основании ответа @ dvd86,
Шаг 1: DynamoStream -> lambda1 -> sqs -> Желаемая тень
Шаг 2: тень сообщила об обновлении -> lambda2 (удалить сообщение из sqs) -> Обновить базу данных о действии