4

Je suis actuellement en train de suivre le tutoriel "Quick Start" pour Amazon IoT et je suis arrivé au point où je suis configuring my rules and test rules. Je peux voir mes règles dans ma console aws sous Amazon IoT, avec mes trucs, cert et policy. J'utilise Mosquitto comme ils le suggèrent pour le tester, et je peux voir mon message lorsque je m'abonne à mon sujet.Problèmes avec les règles Amazon IoT avec DynamoDB et Lambda

Mais j'ai un problème qui, lorsque je publie un message, je ne vois rien dans mes journaux DynamoDB ou CloudWatch de Lambda. Et dans IoT, je suis capable de créer une ressource et de voir mes rôles, la table db et la fonction lambda comme si ça fonctionnait. Je garde ce que dit le tutoriel et rien de plus. Je ne peux pas trouver un autre forum qui a discuté d'Amazon IoT ou qui a ce problème.

+0

Il semble que votre fonction Lambda ne soit pas invoquée. Pouvez-vous essayer de publier sur un sujet SNS? – kixorz

+0

J'ai donc ajouté "sns: *" à ma politique, puis j'ai ajouté une nouvelle règle à publier sur un sujet SNS. J'ai ajouté un nouvel abonnement (mon email), et quand j'ai publié avec Mosquitto ça a marché! J'ai reçu un email. Donc, je me demande ce qui se passe avec la fonction db et Lambda? – jacks205

+1

@kixorz c'est exactement ce problème ici: https://forums.aws.amazon.com/thread.jspa?messageID=679521򥹡 – jacks205

Répondre

4

Vous avez trouvé la solution, il s'agissait d'une erreur dans le didacticiel AWS Quickstart.

Regardez ce fil: https://forums.aws.amazon.com/thread.jspa?threadID=217825&tstart=0

  • Le champ d'horodatage de plage doit être de type String et non Nombre
  • Le hashKeyValue dans le JSON doit être "$ {sujet()}" au lieu de « $ {topic (3)} "
+0

Bien que sa réponse de 9 mois mais pour le nouveau lecteur, $ {topic()} enregistrer ensemble sujet dans la clé primaire, plutôt on peut utiliser un champ particulier de json aussi pour stocker comme $ {DeviceId()}. Il va stocker la valeur du champ DeviceId entrant dans json comme primaryKey – umesh