2017-08-08 4 views
0

Ich habe meine Lambda-Funktion gemäß den AWS-Leitfäden eingerichtet, indem ich in der Setup-Phase einen Trigger gesetzt habe. (the guide mit der Ausnahme, dass die Anleitung IoT-Taste verwendet und ich eine Regel verwende)AWS IoT Thing kann keine AWS Lambda-Funktion auslösen?

Es richtet die Trigger-Regel in der AWS IoT-Konsole für mich ein. Die Sache ist mit einem Zertifikat und einer "iot: *" - Richtlinie eingerichtet, die ihm vollen IoT-Zugang gibt.

Das Ding sendet kontinuierlich Nachrichten in die Cloud unter einem bestimmten Thema. Die Nachrichten können empfangen werden, wenn ich sie in der AWS IoT Testkonsole abonniere.

Meine Lambda-Funktion wird ausgelöst, wenn ich etwas unter diesem Thema von der AWS IoT Testkonsole aus veröffentliche.

Die Funktion wird jedoch nicht von den fortlaufenden Nachrichten ausgelöst, die von der Sache gesendet werden. Es wird nur von der IoT-Testkonsole ausgelöst.

Ich habe keine andere Richtlinie unter Zertifikate für die Sache in Bezug auf diesen Trigger hinzugefügt. Muss ich das tun? Was sollte es sein?

Ich habe versucht, mein Thema SQL SELECT * FROM Ändern '*'

Antwort

2

Versuchen Sie, SQL SELECT * FROM '#' zu ändern. Mit # erhalten Sie jedes veröffentlichte Thema. Wenn Sie * verwenden, erhalten Sie keine Themen z. sample/newTopic.

Mit dieser SQL-Anweisung wird die Lambdas-Funktion für jede eingehende Nachricht aufgerufen. Wenn die AWS IoT Console die Meldung anzeigt und Ihre Lambda-Funktion nichts unternimmt, versuchen Sie, nachzusehen, ob Lambda sich bei CloudWatch angemeldet hat.