【问题标题】:Greengrass_HelloWorld lambda doesn't publish to Amazon IoT consoleGreengrass_HelloWorld lambda 不会发布到 Amazon IoT 控制台
【发布时间】:2020-05-08 03:28:28
【问题描述】:

我在每一步都遵循文档,并且没有遇到任何错误。配置、部署并订阅了 hello/world 主题,就像文档中详述的那样。但是,当我到达这里的测试步骤时:https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-check.html

物联网控制台上没有显示任何消息(订阅视图 hello/world)!我正在使用在我的 Ubuntu 机器上运行的 Greengrass 核心守护程序,它处于活动状态并侦听端口 8000。我认为我的本地设备没有任何问题,因为该组已成功部署,并且我看到通信是双向的在 Wireshark 上。

我的机器上有这些日志:/home/##/Desktop/greengrass/ggc/var/log/system/runtime.log:

[2019-09-28T06:57:42.492-07:00][INFO]-===========================================
[2019-09-28T06:57:42.492-07:00][INFO]-Greengrass Version: 1.9.3-RC3
[2019-09-28T06:57:42.492-07:00][INFO]-Greengrass Root: /home/##/Desktop/greengrass
[2019-09-28T06:57:42.492-07:00][INFO]-Greengrass Write Directory: /home/##/Desktop/greengrass/ggc
[2019-09-28T06:57:42.492-07:00][INFO]-Group File Directory: /home/##/Desktop/greengrass/ggc/deployment/group
[2019-09-28T06:57:42.492-07:00][INFO]-Default Lambda UID: 122
[2019-09-28T06:57:42.492-07:00][INFO]-Default Lambda GID: 127
[2019-09-28T06:57:42.492-07:00][INFO]-===========================================
[2019-09-28T06:57:42.492-07:00][INFO]-The current core is using the AWS IoT certificates with fingerprint.  {"fingerprint": "90##4d"}
[2019-09-28T06:57:42.492-07:00][INFO]-Will persist worker process info. {"dir": "/home/##/Desktop/greengrass/ggc/ggc/core/var/worker/processes"}
[2019-09-28T06:57:42.493-07:00][INFO]-Will persist worker process info. {"dir": "/home/##/Desktop/greengrass/ggc/ggc/core/var/worker/processes"} 
[2019-09-28T06:57:42.494-07:00][INFO]-No proxy URL found.
[2019-09-28T06:57:42.495-07:00][INFO]-Started Deployment Agent to listen for updates. [2019-09-28T06:57:42.495-07:00][INFO]-Connecting with MQTT.   {"endpoint": "a6##ws-ats.iot.us-east-2.amazonaws.com:8883", "clientId": "simulators_gg_Core"}
[2019-09-28T06:57:42.497-07:00][INFO]-The current core is using the AWS IoT certificates with fingerprint.  {"fingerprint": "90##4d"}
[2019-09-28T06:57:42.685-07:00][INFO]-MQTT connection successful.   {"attemptId": "GVko", "clientId": "simulators_gg_Core"}
[2019-09-28T06:57:42.685-07:00][INFO]-MQTT connection established.  {"endpoint": "a6##ws-ats.iot.us-east-2.amazonaws.com:8883", "clientId": "simulators_gg_Core"} 
[2019-09-28T06:57:42.685-07:00][INFO]-MQTT connection connected. Start subscribing. {"clientId": "simulators_gg_Core"} 
[2019-09-28T06:57:42.685-07:00][INFO]-Deployment agent connected to cloud. 
[2019-09-28T06:57:42.685-07:00][INFO]-Start subscribing.    {"numOfTopics": 2, "clientId": "simulators_gg_Core"}
[2019-09-28T06:57:42.685-07:00][INFO]-Trying to subscribe to topic $aws/things/simulators_gg_Core-gda/shadow/update/delta
[2019-09-28T06:57:42.727-07:00][INFO]-Trying to subscribe to topic $aws/things/simulators_gg_Core-gda/shadow/get/accepted
[2019-09-28T06:57:42.814-07:00][INFO]-All topics subscribed.    {"clientId": "simulators_gg_Core"}
[2019-09-28T06:58:57.888-07:00][INFO]-Daemon received signal: terminated. [2019-09-28T06:58:57.888-07:00][INFO]-Shutting down daemon. 
[2019-09-28T06:58:57.888-07:00][INFO]-Stopping all workers.
[2019-09-28T06:58:57.888-07:00][INFO]-Lifecycle manager is stopped.
[2019-09-28T06:58:57.888-07:00][INFO]-IPC server stopped.

/home/##/Desktop/greengrass/ggc/var/log/system/localwatch/localwatch.log:

[2019-09-28T06:57:42.491-07:00][DEBUG]-will keep the log files for the following lambdas    {"readingPath": "/home/##/Desktop/greengrass/ggc/var/log/user", "lambdas": "map[]"}   
[2019-09-28T06:57:42.492-07:00][WARN]-failed to list the user log directory {"path": "/home/##/Desktop/greengrass/ggc/var/log/user"}

提前致谢。

【问题讨论】:

  • 我有两个建议来解决问题。第一个是,您可以通过在测试界面订阅#(通配符)来查看所有消息。如果没有实现或配置错误,您必须看到您的消息。我的第二个建议是您可以检查位于 [greengrass]/ggc/var/log/system 文件夹下的 GGCloudSppoler.log 以监控发送请求状态。

标签: amazon-web-services aws-lambda iot core greengrass


【解决方案1】:

我在另一个平台(Jetson Nano)上遇到了类似的问题。在阅读了使用 IOT Greengrass 设置简单 Lambda 的 AWS 说明后,我无法得到回复。在我寻找答案的过程中,我发现 AWS 有一个适用于您连接的任何设备的资格测试脚本。
它通过部署和测试 lambda 函数(以及其他功能)的自动化过程并报告每个步骤的结果,文档提供故障排除信息。
通过这些测试,我能够缩小设置、安装和配置方面的问题。测试文档给出了对测试结果进行故障排除的指导。这是测试的链接:https://docs.aws.amazon.com/greengrass/latest/developerguide/device-tester-for-greengrass-ug.html

如果您点击“下一个主题”链接,它将带您完成完整的测试。让我警告你,它的范围很广,并且需要一些时间,但对我来说,它提供了很多详细的见解,而 hello world 没有。

【讨论】:

    猜你喜欢
    • 2018-03-25
    • 2018-10-01
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    • 2017-03-04
    • 1970-01-01
    • 2017-01-30
    • 2018-11-27
    相关资源
    最近更新 更多