4

В настоящее время я читаю учебник «Быстрый старт» для Amazon IoT, и я дошел до точки, где я configuring my rules and test rules. Я могу видеть свои правила в моей консоли aws под Amazon IoT вместе с моей вещью, сертификатом и политикой. Я использую Mosquitto, как они предлагают для тестирования, и я могу видеть свое сообщение, когда я подписываюсь на мою тему.Проблемы с правилами Amazon IoT с DynamoDB и Lambda

Но у меня возникла проблема: когда я публикую сообщение, я ничего не вижу в своих журналах DynamoDB или CloudWatch от Lambda. И в IoT я могу создать ресурс и увидеть мои роли, таблицу db и лямбда-функцию, как будто она работает. Я придерживаюсь того, что говорит учебник, и ничего лишнего. Я не могу найти какой-либо другой форум, который обсуждал бы Amazon IoT или имел бы эту проблему.

+0

Похоже, что ваша функция Lambda не вызывается. Можете ли вы попробовать опубликовать тему SNS? – kixorz

+0

Итак, я добавил «sns: *» в свою политику, а затем добавил новое правило для публикации в тему SNS. Я добавил новую подписку (мой адрес электронной почты), и когда я публикую ее в Mosquitto, это сработало! У меня есть письмо. Так что интересно, что происходит с функцией db и лямбда? – jacks205

+1

@kixorz это именно эта проблема здесь: https://forums.aws.amazon.com/thread.jspa?messageID=679521򥹡 – jacks205

ответ

4

Нашли решение, это была ошибка в учебнике AWS Quickstart.

Посмотрите на эту тему: https://forums.aws.amazon.com/thread.jspa?threadID=217825&tstart=0

  • Диапазон поле временной метки должны быть типа String, а не номер
  • hashKeyValue в JSON должен быть "$ {тема()}" вместо «$ {topic (3)} "
+0

Хотя ее 9-месячный ответ, но для нового читателя, $ {topic()} сохранить весь тему в первичном ключе, скорее, можно использовать определенное поле из json также для хранения, как $ {DeviceId()}. Он сохранит значение поля DeviceId, входящего в json как primaryKey – umesh

Смежные вопросы