1

我想要的greengrass devicegreengrass lambda functionlocal network.

我正在使用basicDiscovery.py的订阅模式将一些设备指标发送到 amazon greengrass 核心设备,并调用部署在核心上的 lambda 函数。lambda 函数只是打印事件。我的困惑是,当我使用它的订阅时IoT Cloud -> lambda function它工作正常,但是当我从device -> lambda function.
此外,当我将设备与 Internet 断开连接时(在情况 1 中),它会缓冲消息并在再次连接到 Internet 时发送它们。我知道我xxxxxxx.iot.us-west-2.amazonaws.com作为端点传递并且可以通过 Internet 访问它,但不确定如何为核心设置端点。

4

2 回答 2

0

我有同样的问题。我试图在 Greengrass 中触发 lambda 函数。如果我创建了一个订阅,其来源是云,目标是 lambda。然后,当我使用我的设备凭据向主题发布消息时,触发了 lambda 函数。

但如果 greengrass 和 AWS 之间的连接丢失,则 lambda 函数不会触发。即使 greengrass 没有与 AWS 连接,我也需要 lambda 函数。

所以我认为如果我将订阅源更改为设备,这个问题可以解决。

但是,如果我创建一个将源设置为设备本身的订阅,那么发布消息不会触发 lambda 函数。虽然我可以从主题中得到消息。

于 2020-02-20T21:31:02.647 回答
0

我已经尝试将数据从设备发送到 lambda 和 lambda 到云。根据我的理解,您必须注意以下几点: 1.连接到 greengrass 的设备应该发布主题的数据 2.对于同一主题订阅必须在设备和 lambda 3 之间创建。要测试此行为,请在 lambda 和云之间创建另一个订阅

参考:https ://medium.com/tensorriot/aws-greengrass-on-raspberry-pi-creating-core-and-node-devices-707a38452293

于 2020-02-19T07:05:05.290 回答