Имена тем с подстановочными знаками и захват сообщений из всех тем

Мы используем AWS IoT.

У нас есть предопределенные темы (+/device/), в которых устройства публикуют сообщения.

Но есть вероятность, что устройства могут публиковать сообщения на любые другие темы.

Я хочу подсчитать количество сообщений, которые публикуются для всех тем на этих отдельных устройствах, и реализовать регулирование.

Я пытался создать правила IoT, используя имена тем с подстановочными знаками, например ( +/* или /), но ни одна из этих тем с подстановочными знаками, похоже, не работает.

Есть ли какое-либо название темы с подстановочным знаком, которое я могу использовать для записи сообщений из всех тем?

Или есть способ выгрузить все сообщения по всем темам где-нибудь в DynamoDB или S3 и подсчитать количество сообщений с отдельных устройств за определенный период времени?

1 ответ

Решение

Я пытался создать правила IoT, используя имена тем с подстановочными знаками, например ( +/* или /), но ни одна из этих тем с подстановочными знаками, похоже, не работает.

Есть ли какое-либо название темы с подстановочным знаком, которое я могу использовать для записи сообщений из всех тем?

+ а также #являются соответствующими подстановочными знаками для правил AWS IoT. См. https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-from.html.

Вы можете настроить правило с помощью следующего оператора для захвата сообщений из всех тем.

SELECT * FROM '#'

Или есть способ выгрузить все сообщения по всем темам где-нибудь в DynamoDB или S3 и подсчитать количество сообщений с отдельных устройств за определенный период времени?

Один из подходов - создать правило, основанное на приведенном выше, а также передавать идентификатор клиента в каждое сообщение (с помощью функции clientid()). Действие для этого правила может записать идентификатор клиента в DynamoDB или S3. Тогда эта информация доступна для ваших расчетов.

Альтернативным подходом может быть запись сообщений и клиентов в поток данных Kinesis и использование Kinesis Data Analytics для обнаружения неисправных устройств.

Другие вопросы по тегам