问题标签 [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.
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,但我没有看到任何事件或错误报告。
对此的任何帮助将不胜感激,干杯!
amazon-web-services - AWS Greengrass 核心在 lambda 函数中拥有自己的名称
在 AWS Greengrass Core 设备上运行的 lambda 能否访问其自己的“事物”名称?
我可以看到thingArn
作为安装的一部分安装在设备上的配置文件中,但我不确定如何通过导入到 lambda 函数中的 AWS 库来访问它。
我可以授予对本地文件系统的访问权限并以这种方式获取它,但我更喜欢更优雅的解决方案。
python - AWS GreenGrass Python 拉姆达
我目前正在尝试在我的Raspberry Pi上使用AWS GreengrassHelloWorld
设置基本示例。安装工作完美无缺,守护进程按预期运行。之后,我按照“AWS GreenGrass 入门”的说明进行操作,直到此时
在这里我遇到了以下问题:我下载了 GreenGrass Core 的 python SDK 并解压缩。之后,我创建了一个新的 Lambda 函数并将其上传并得到以下内容
我不知道为什么会这样。我认为应该没问题,因为处理程序并没有真正被调用,所以无论如何。我继续HelloWorld
在 GreenGrass 上完成安装,但现在尽管部署成功,但我没有收到来自客户端的消息。
有人可以帮我解决这个烂摊子吗?
aws-iot - greengrass 可以在我的数据中心运行吗
我们有一个要求,我们希望在我们自己的数据中心的 VM 上运行 AWS GreenGrass,该数据中心不会与 AWS IoT 连接。想法是有类似的云和本地解决方案(在防火墙后面)。我们希望重用在 AWS GreenGrass 中具有 lambda 函数的云解决方案。想知道是否可以在没有 AWS IoT 的情况下运行 AWS GreenGrass?任何见解都会有很大帮助。
amazon-web-services - AWS GREENGRASS 无法连接到设备
我是 AWS IoT 的新手。您能否指导我或向我推荐一些有用的材料来实施整个绿草。我想在 gg 组中使用树莓派作为我的 greengrass 核心,并且我想通过树莓派在不同的设备之间建立通信,在我的例子中是 esp8266 和 esp32。
而不是我计算机中的终端,我想使用一个 esp8266 作为发布者,另一个 esp8266 作为订阅者,并通过树莓派(greengrass 核心)在它们之间交换数据。我不知道我是否必须在 esp 上安装设备 SDK 或什么?我从这里找不到出路。
非常感谢您的帮助。
amazon-web-services - AWS GreenGrass 检查 Lambda 中的主题
我目前正在摆弄 AWS GreenGrass,并且已经完成了大部分基本示例。现在问题我已经了解如何根据触发它的 MQTT 主题在我的 lambda 函数中执行不同的操作。我真的找不到关于如何区分哪个主题触发了我的 python 脚本中的函数处理程序的文档。我正在尝试为我的 sonos 系统构建一个小型控制器,它使用以下非常基本的主题:
它只是尝试播放我硬编码的某首歌曲。
哪个应该暂停系统。
我知道我可以为每个命令创建几个 lambda,但这似乎很挑剔。有人可以解释一下如何解决这类问题吗?
python - 在 AWS lambda 函数中获取日志两次
我正在尝试创建一个集中模块来设置我的日志格式化程序,以便在我的 lambda 函数中的多个 python 模块之间共享。此功能最终将在本地本地设备上的 AWS Greengrass 上运行。
出于某种原因,当我添加自己的处理程序来格式化消息时,日志被输出了两次——一次在正确的日志级别,第二次在不正确的级别。
如果我使用标准的 python 记录器而不设置任何处理程序,它可以正常工作,例如
main.py
:
cloudwatch logs
:
我的目标是在我的代码上有一个格式化程序,它将这些日志消息格式化为 JSON。然后,它们将被摄取到集中式日志数据库中。但是,当我这样做时,我会收到两次日志消息。
loghelper.py
:
main.py
:
现在运行 lambda 函数时,我在云监视日志中收到两次调试消息,如下所示:
cloudwatch logs
:
请注意:
- 第一个条目的级别正确,但格式错误。
- 第二个条目报告了错误的级别、错误的模块但格式正确。
我无法解释这种行为,并希望对可能导致它的原因有任何想法。我也不知道第 880 行存在哪个构造函数。这可能会对正在发生的事情有所了解。
参考:
设置全局格式化程序: 如何在 python 中为整个程序定义一个记录器?
清除默认 lambda 日志处理程序: 将 python 日志记录与 AWS Lambda 一起使用
创建全局记录器: Python:记录模块 - 全局
aws-lambda - 无法使用 AWS greengrasssdk 获取事物影子,错误代码为 404
我想用我的传感器收集一些信息,并在 greengrass 核心上对其进行分析,以决定是否通过 SES 向我发送电子邮件。一切都准备好了,除了我在我的 greengrass 核心上部署的 shadow 和 lambda 之间的连接。当我尝试从影子获取信息时,我只能得到如下错误代码:
但实际上,影子每秒都在不断更新。有什么我错过的吗?或者有人可以给我一些建议吗?谢谢大家!
amazon-web-services - 使用 Azure 和 AWS 创建嵌套的 IoT 现场网关
根据我从他们的文档中阅读和理解的内容,只有单层物联网层次结构可以使用他们的任何一个网关来维护。那是一个现场网关(有点像智能路由器),位于服务器和边缘设备之间,进行预处理和边缘计算。
我想知道的是,任一供应商(AWS 或 Azure)提供的现场网关是否可以嵌套为父级和子级,以创建多层 IoT 设备层次结构。那就是网关连接到网关等等。
编辑 - 这种层次结构将创建雾网络,这将使层次结构中的子网络能够更独立地运行,而不会过度依赖服务器。此外,如果边缘网关可以在减少延迟的同时进行边缘计算,它们将减少服务器上的负载。
amazon-web-services - aws greengass:Node.js:错误:找不到模块“aws-greengrass-core-sdk”
我面临一个奇怪的问题。我确定我的 node_modules 文件夹有“aws-greengrass-core-sdk”,但错误仍然是说它找不到模块。实际上 node_modules 文件夹中的任何模块都无法访问。
我花了很多时间寻找一些解决方案,但还没有得到任何帮助。我真的很感激任何帮助。
谢谢问候阿亚兹