问题标签 [greengrass]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2081 浏览

python - 使用 greengrass 在本地设备上执行 lambda 函数

我正在尝试学习 AWS greengrass,因此我正在关注本教程https://docs.aws.amazon.com/greengrass/latest/developerguide/gg-gs.html,它逐步解释了在 raspberry pi 上设置 greengrass并使用 lambda 函数发布一些消息。

一个简单的 lambda 函数如下:

在这里这是可行的,但我试图通过使用 lambda 函数来做一些额外的工作来更好地理解它,例如打开一个文件并写入它。

我修改了greengrass_hello_world_run()功能如下

我希望在部署时,在我的本地 pi 上运行的守护程序应该在给定目录中创建该文件,因为我相信 greengrass 核心会尝试在本地设备上运行这个 lambda 函数。但是它不会创建任何文件,也不会发布任何内容,因为我相信这段代码可能会被破坏。不知道如何,我尝试查看 cloudwatch,但我没有看到任何事件或错误报告。

对此的任何帮助将不胜感激,干杯!

0 投票
2 回答
361 浏览

amazon-web-services - AWS Greengrass 核心在 lambda 函数中拥有自己的名称

在 AWS Greengrass Core 设备上运行的 lambda 能否访问其自己的“事物”名称?

我可以看到thingArn作为安装的一部分安装在设备上的配置文件中,但我不确定如何通过导入到 lambda 函数中的 AWS 库来访问它。

我可以授予对本地文件系统的访问权限并以这种方式获取它,但我更喜欢更优雅的解决方案。

0 投票
1 回答
181 浏览

python - AWS GreenGrass Python 拉姆达

我目前正在尝试在我的Raspberry Pi上使用AWS GreengrassHelloWorld设置基本示例。安装工作完美无缺,守护进程按预期运行。之后,我按照“AWS GreenGrass 入门”的说明进行操作,直到此时

在这里我遇到了以下问题:我下载了 GreenGrass Core 的 python SDK 并解压缩。之后,我创建了一个新的 Lambda 函数并将其上传并得到以下内容错误

我不知道为什么会这样。我认为应该没问题,因为处理程序并没有真正被调用,所以无论如何。我继续HelloWorld在 GreenGrass 上完成安装,但现在尽管部署成功,但我没有收到来自客户端的消息。

有人可以帮我解决这个烂摊子吗?

0 投票
1 回答
109 浏览

aws-iot - greengrass 可以在我的数据中心运行吗

我们有一个要求,我们希望在我们自己的数据中心的 VM 上运行 AWS GreenGrass,该数据中心不会与 AWS IoT 连接。想法是有类似的云和本地解决方案(在防火墙后面)。我们希望重用在 AWS GreenGrass 中具有 lambda 函数的云解决方案。想知道是否可以在没有 AWS IoT 的情况下运行 AWS GreenGrass?任何见解都会有很大帮助。

0 投票
2 回答
402 浏览

amazon-web-services - AWS GREENGRASS 无法连接到设备

我是 AWS IoT 的新手。您能否指导我或向我推荐一些有用的材料来实施整个绿草。我想在 gg 组中使用树莓派作为我的 greengrass 核心,并且我想通过树莓派在不同的设备之间建立通信,在我的例子中是 esp8266 和 esp32。

而不是我计算机中的终端,我想使用一个 esp8266 作为发布者,另一个 esp8266 作为订阅者,并通过树莓派(greengrass 核心)在它们之间交换数据。我不知道我是否必须在 esp 上安装设备 SDK 或什么?我从这里找不到出路。

非常感谢您的帮助。

0 投票
4 回答
642 浏览

amazon-web-services - AWS GreenGrass 检查 Lambda 中的主题

我目前正在摆弄 AWS GreenGrass,并且已经完成了大部分基本示例。现在问题我已经了解如何根据触发它的 MQTT 主题在我的 lambda 函数中执行不同的操作。我真的找不到关于如何区分哪个主题触发了我的 python 脚本中的函数处理程序的文档。我正在尝试为我的 sonos 系统构建一个小型控制器,它使用以下非常基本的主题:

它只是尝试播放我硬编码的某首歌曲。

哪个应该暂停系统。

我知道我可以为每个命令创建几个 lambda,但这似乎很挑剔。有人可以解释一下如何解决这类问题吗?

0 投票
2 回答
6662 浏览

python - 在 AWS lambda 函数中获取日志两次

我正在尝试创建一个集中模块来设置我的日志格式化程序,以便在我的 lambda 函数中的多个 python 模块之间共享。此功能最终将在本地本地设备上的 AWS Greengrass 上运行。

出于某种原因,当我添加自己的处理程序来格式化消息时,日志被输出了两次——一次在正确的日志级别,第二次在不正确的级别。

如果我使用标准的 python 记录器而不设置任何处理程序,它可以正常工作,例如

main.py

cloudwatch logs

我的目标是在我的代码上有一个格式化程序,它将这些日志消息格式化为 JSON。然后,它们将被摄取到集中式日志数据库中。但是,当我这样做时,我会收到两次日志消息。

loghelper.py

main.py

现在运行 lambda 函数时,我在云监视日志中收到两次调试消息,如下所示:

cloudwatch logs

请注意:

  • 第一个条目的级别正确,但格式错误。
  • 第二个条目报告了错误的级别、错误的模块但格式正确。

我无法解释这种行为,并希望对可能导致它的原因有任何想法。我也不知道第 880 行存在哪个构造函数。这可能会对正在发生的事情有所了解。

参考:

  1. 设置全局格式化程序: 如何在 python 中为整个程序定义一个记录器?

  2. 清除默认 lambda 日志处理程序: 将 python 日志记录与 AWS Lambda 一起使用

  3. 创建全局记录器: Python:记录模块 - 全局

0 投票
1 回答
342 浏览

aws-lambda - 无法使用 AWS greengrasssdk 获取事物影子,错误代码为 404

我想用我的传感器收集一些信息,并在 greengrass 核心上对其进行分析,以决定是否通过 SES 向我发送电子邮件。一切都准备好了,除了我在我的 greengrass 核心上部署的 shadow 和 lambda 之间的连接。当我尝试从影子获取信息时,我只能得到如下错误代码:

但实际上,影子每秒都在不断更新。有什么我错过的吗?或者有人可以给我一些建议吗?谢谢大家!

0 投票
1 回答
120 浏览

amazon-web-services - 使用 Azure 和 AWS 创建嵌套的 IoT 现场网关

根据我从他们的文档中阅读和理解的内容,只有单层物联网层次结构可以使用他们的任何一个网关来维护。那是一个现场网关(有点像智能路由器),位于服务器和边缘设备之间,进行预处理和边缘计算。

我想知道的是,任一供应商(AWS 或 Azure)提供的现场网关是否可以嵌套为父级和子级,以创建多层 IoT 设备层次结构。那就是网关连接到网关等等。

编辑 - 这种层次结构将创建雾网络,这将使层次结构中的子网络能够更独立地运行,而不会过度依赖服务器。此外,如果边缘网关可以在减少延迟的同时进行边缘计算,它们将减少服务器上的负载。

0 投票
1 回答
653 浏览

amazon-web-services - aws greengass:Node.js:错误:找不到模块“aws-greengrass-core-sdk”

我面临一个奇怪的问题。我确定我的 node_modules 文件夹有“aws-greengrass-core-sdk”,但错误仍然是说它找不到模块。实际上 node_modules 文件夹中的任何模块都无法访问。

我花了很多时间寻找一些解决方案,但还没有得到任何帮助。我真的很感激任何帮助。

谢谢问候阿亚兹