AWS Правила IoT запускаются одним сообщением MQTT, а действия правила обрабатывают только сообщение, которое вызвало правило. Таким образом, хотя +
и #
Подстановочные знаки могут использоваться для выбора из нескольких тем, каждый вызов правила обрабатывает только одно сообщение.
Ваше предположение, что это возможно сканирование нескольких тем »в одном запросе подразумевает, что задействовано несколько сообщений (для каждой топи c).
В зависимости от проблемы, которую вы пытаетесь решить, может иметь смысл буферизовать сообщения в очереди ( например SQS). Затем обработка может проверить, появляются ли несколько сообщений в заданном временном окне для выполнения одного действия над обоими сообщениями.
Я не уверен, поддерживает ли AWS IoT SQL «сканирование нескольких тем» в одном запросе. Такие ссылки не найдены в AWS документах.
Я не нашел однозначного утверждения в документации, которое исключает это. Но формулировка согласуется с правилом, которое запускается одним сообщением.
Например, из учебника правил
Правило запускается при совпадении сообщения MQTT, которое соответствует фильтр topi c получен на topi c.
FROM подписывает правило на фильтр topi c или topi c, используя MQTT +
и #
подстановочные знаки.
Есть операторов , таких как AND
и OR
, но они не используются в предложении FROM
. Документация операторов гласит:
Следующие операторы могут использоваться в предложениях SELECT и WHERE.