问题标签 [aws-iot-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 投票
1 回答
119 浏览

aws-iot - 如何在 AWS IoT greengrass 本地使用 AWS IoT 规则引擎?

  1. 有没有办法在 AWS IoT greengrass 本地使用 AWS IoT 规则引擎?

  2. 规则引擎只是 AWS IoT 核心(云)的一项功能吗?

  3. lambda 函数是否部署到本地 AWS IoT greengrass 订阅主题并采取行动相当于 AWS IoT 核心规则引擎?

0 投票
1 回答
200 浏览

aws-iot - 对于从 AWS IoT greengrass lambda 到 AWS IoT Core 规则引擎的通信,是否应将 lambda 配置为设备(事物)?

为了将数据从 Greengrass lambda 发送到 AWS IoT Core 规则引擎,我们需要创建一个订阅,其中源为 Lambda,目标为 IoT Core。

lambda 是否应该通过设备 sdk 将自己标识为 IoT 核心的 IoT 设备(具有凭据的事物)?或者这是可选的,并且 lambda 也可以使用 greengrass sdk 直接将数据发送到 IoT Core?

0 投票
1 回答
135 浏览

aws-iot - 从 Lambda 向 AWS IoT 核心发送数据的上下文是什么?

我们可以使用 lambda 函数连接到 AWS IoT Greengrass 核心并发布消息。要让设备接收 lambda 发布的 msg,需要满足 2 件事:1) 需要订阅 greengrass 中的 lambda(具有适当的主题)和 2) 订阅者的代码执行.subscribe该主题。拉姆达示例:

此处消息是在 Lambda 的上下文中发布的,而不是在设备中发布的。同样,如果我必须将 msg 从 lambda 发送到 AWS IoT Core,则 msg 不会来自 lambda 作为设备的上下文,而是来自 lambda 本身。

但是,我们也可以通过 Lambda 向 AWS IoT Core 或其他设备发布表示事物的消息,为此我们需要传入凭证(事物凭证)以将 Lambda 标识为设备(事物)。

我理解对了吗?

0 投票
0 回答
25 浏览

aws-lambda - 如何结合部署在 AWS IoT greengrass 上的 lambda 中的 2 个传感器的数据?

我有 2 个传感器分别向 Topic1 和 Topic2 发布数据。

两台设备都订阅了关于这两个主题的同一个 Lambda 函数。

lambda 从传感器接收到的示例数据-

当 sensor1 触发 lambda 时:{"sensor1":10}

当 sensor2 触发 lambda 时:{"sensor2":20}

我想编写 lambda 函数逻辑来同时检查两个值。示例:如果 sensor1 值 >10 且 sensor2 值>10,则将 msg 发布到某个主题。

目前,当 lambda 函数被触发时,它仅具有来自一个传感器的数据。如何将来自 2 个传感器的数据合并到 lambda 函数中?

0 投票
1 回答
105 浏览

aws-iot - 在 AWS IoT greengrass 中拥有本地唯一影子的目的是什么?

AWS IoT greengrass 在本地网络上运行。这意味着没有问题/不需要互联网连接。那么为什么AWS IoT greengrass 中只提供本地影子概念呢?

在与云同步时使用本地影子是有意义的,这样当 IoT 核心尝试在没有互联网连接的情况下将味精发送到 greengrass 设备时,味精不会丢失,而是将味精发送到物联网核心影子,然后当连接可用时,greengrass 设备将获取消息。

但除此之外,还有什么原因会导致本地唯一的绿草阴影?

0 投票
1 回答
102 浏览

aws-iot - 如何停止绿草核心?

我已经安装了 greengrass 核心软件并通过以下方式启动它:

验证该过程是通过以下方式启动的:

如何停止绿草核心?

0 投票
1 回答
115 浏览

amazon-web-services - lambda 与 Greengrass lambda 配置的内存限制、超时设置有什么区别?

lambdaGreengrass lambda 配置的内存限制、超时设置有什么区别?

在 Lambda:

在此处输入图像描述

在 Greengrass Lambda 配置中:

在此处输入图像描述

0 投票
1 回答
187 浏览

docker - 通过 AWS-Greengrass 连接器服务部署 Docker 映像时面临的问题

背景:

  1. 我们正在尝试通过 AWS-Greengrass 连接器服务将 App 作为 docker 容器部署到边缘设备(在 Linux 环境中将 Greengrass 核心作为容器运行)。
  2. 我们正在为 docker 应用程序部署在云中配置 greengrass 组连接器。

问题:

从 AWS greengrass 组(AWS 云)进行部署时,我们能够看到成功的部署消息,但应用程序没有部署到边缘设备(将 greengrass 核心作为容器运行)。

日志:

  1. DockerApplicationDeploymentLog:

[2020-11-05T10:35:42.632Z][致命]-lambda_runtime.py:381,由于异常无法初始化 Lambda 运行时:“getgrnam(): name not found: 'docker'” [2020-11-05T10 :35:44.789Z][WARN]-ipc_client.py:162,deprecated arg port=8000 将被忽略 [2020-11-05T10:35:45.012Z][WARN]-ipc_client.py:162,deprecated arg port= 8000 将被忽略 [2020-11-05T10:35:45.012Z][INFO]-docker_deployer.py:41,docker deployer 启动 [2020-11-05T10:35:45.012Z][INFO]-docker_deployer.py: 45,检查输入 [2020-11-05T10:35:45.012Z][INFO]-docker_deployer.py:52,docker 组权限 [2020-11-05T10:35:45.02Z][FATAL]-lambda_runtime.py:141 ,由于异常,无法导入处理函数“handlers.function_handler”:“getgrnam(): name not found: 'docker'”

  1. 运行时系统日志:

[2020-11-05T10:31:49.78Z][DEBUG]-重启worker,因为它被杀死了。{“workerId”:“8b0ee21d-e481-4d27-5e30-cb4d912547f5”,“funcArn”:“arn:aws:lambda:ap-south-1:aws:function:DockerApplicationDeployment:6”} [2020-11-05T10: 31:49.78Z][DEBUG]-后备工作人员。{“workerId”:“8b0ee21d-e481-4d27-5e30-cb4d912547f5”,“funcArn”:“arn:aws:lambda:ap-south-1:aws:function:DockerApplicationDeployment:6”} [2020-11-05T10: 31:49.78Z][DEBUG]-开始尝试:{“尝试计数”:0,“workerId”:“8b0ee21d-e481-4d27-5e30-cb4d912547f5”,“funcArn”:“arn:aws:lambda:ap- south-1:aws:function:DockerApplicationDeployment:6"} [2020-11-05T10:31:49.78Z][DEBUG]-创建目录。{“目录”:“/greengrass/ggc/packages/1.11. {“functionArn”:“arn:aws:lambda:ap-south-1:aws:function:DockerApplicationDeployment:6”,“workerId”:“8b0ee21d-e481-4d27-5e30-cb4d912547f5”} [2020-11-05T10: 31:49.82Z][DEBUG]-启动工作进程。{"workerId": "8b0ee21d-e481-4d27-5e30-cb4d912547f5"} [2020-11-05T10:31:49.829Z][DEBUG]-工作进程已启动。{"workerId": "8b0ee21d-e481-4d27-5e30-cb4d912547f5", "pid": 20471} [2020-11-05T10:31:49.83Z][DEBUG]-开始工作结果:{"workerId": "8b0ee21d -e481-4d27-5e30-cb4d912547f5", "funcArn": "arn:aws:lambda:ap-south-1:aws:function:DockerApplicationDeployment:6", "state": "Starting", "initDurationSeconds": 0.012234454} [2020-11-05T10:31:49.831Z][INFO]-创建的工人。{“functionArn”:“arn:aws:lambda:ap-south-1:aws:function:DockerApplicationDeployment:6”,“workerId”:“8b0ee21d-e481-4d27-5e30-cb4d912547f5”,“pid”:20471} [ 2020-11-05T10:31:53.155Z][DEBUG]-收到凭据提供程序请求 {"serverLambdaArn":"arn:aws:lambda:::function:GGTES", "clientId":"8b0ee21d-e481-4d27- 5e30-cb4d912547f5"} [2020-11-05T10:31:53.156Z][DEBUG]-WorkManager 开始工作 {"workerId": "148f7a1a-168f-40a5-682d-92e00d56a5df", "funcArn": "arn:aws: lambda:::function:GGTES", "invocationId": "955c2c43-1187-4001-7988-4213b95eb584"} [2020-11-05T10:31:53.156Z][DEBUG]-成功获取工作。{“invocationId”:“955c2c43-1187-4001-7988-4213b95eb584”,“fromWorkerId”:“148f7a1a-168f-40a5-682d-92e00d56a5df”,“ofFunction”:“arn:aws:lambda:::function:GGTES”} [2020-11-05T10:31:53.156Z][调试]-发布工作结果。{“invocationId”:“955c2c43-1187-4001-7988-4213b95eb584”,“ofFunction”:“arn:aws:lambda:::function:GGTES”} [2020-11-05T10:31:53.156Z][调试] -WorkManager 放置工作结果。{“workerId”:“148f7a1a-168f-40a5-682d-92e00d56a5df”,“invocationId”:“955c2c43-1187-4001-7988-4213b95eb584”} [2020-11-05T10:31:53.156Z][DEBUG]-WorkManager把工作结果成功。{“workerId”:“148f7a1a-168f-40a5-682d-92e00d56a5df”,“invocationId”:“955c2c43-1187-4001-7988-4213b95eb584”} [2020-11-05T10:31:53。156Z][DEBUG]-成功发布工作结果。{“invocationId”:“955c2c43-1187-4001-7988-4213b95eb584”,“ofFunction”:“arn:aws:lambda:::function:GGTES”} [2020-11-05T10:31:53.157Z][调试] - 处理凭据提供程序请求 {"clientId": "8b0ee21d-e481-4d27-5e30-cb4d912547f5"} [2020-11-05T10:31:53.158Z][DEBUG]-GET 工作项。{“fromWorkerId”:“148f7a1a-168f-40a5-682d-92e00d56a5df”,“ofFunction”:“arn:aws:lambda:::function:GGTES”} [2020-11-05T10:31:53.158Z][调试] -工人计时器不存在。{“workerId”:“148f7a1a-168f-40a5-682d-92e00d56a5df”} 53.157Z][DEBUG]-处理凭据提供程序请求 {"clientId":"8b0ee21d-e481-4d27-5e30-cb4d912547f5"} [2020-11-05T10:31:53.158Z][DEBUG]-GET 工作项。{“fromWorkerId”:“148f7a1a-168f-40a5-682d-92e00d56a5df”,“ofFunction”:“arn:aws:lambda:::function:GGTES”} [2020-11-05T10:31:53.158Z][调试] -工人计时器不存在。{“workerId”:“148f7a1a-168f-40a5-682d-92e00d56a5df”} 53.157Z][DEBUG]-处理凭据提供程序请求 {"clientId":"8b0ee21d-e481-4d27-5e30-cb4d912547f5"} [2020-11-05T10:31:53.158Z][DEBUG]-GET 工作项。{“fromWorkerId”:“148f7a1a-168f-40a5-682d-92e00d56a5df”,“ofFunction”:“arn:aws:lambda:::function:GGTES”} [2020-11-05T10:31:53.158Z][调试] -工人计时器不存在。{“workerId”:“148f7a1a-168f-40a5-682d-92e00d56a5df”} 不存在。{“workerId”:“148f7a1a-168f-40a5-682d-92e00d56a5df”} 不存在。{“workerId”:“148f7a1a-168f-40a5-682d-92e00d56a5df”}

0 投票
1 回答
518 浏览

node.js - NodeJS 12.x:AWS Greengrass 中未找到错误

我不知道在哪里正确标记我的问题,如果我犯了错误,我很抱歉。(我是stackoverflow的新手)。

我正在尝试构建 AWS Greengrass 环境,但在安装必要的软件包时遇到了问题。

我刚刚在虚拟机中将 NodeJS 安装到我的 Ubuntu 20.04.1:

所以,我有 NodeJS。然后我按照这些命令:

现在它显示了这个:

我不明白,我有 NodeJS,但为什么它说Not found

你对我有什么意见或建议吗?

如果你能回答这个我会很高兴,我花了 3 个小时搜索但仍然无法解决..

0 投票
1 回答
336 浏览

amazon-web-services - 无法在 Ubuntu 20.04.1 LTS 中启动 Greengrass 守护程序

我正在尝试在我的虚拟机 Ubuntu 20.04.1 LTS 中设置 AWS IoT Greengrass。

我按照这里的步骤操作:https ://docs.aws.amazon.com/greengrass/latest/developerguide/install-ggc.html

在这两个命令systemctl start greengrass.servicesystemctl status greengrass.service,我收到此错误:Failed to start Greengrass Daemon.

您对可能是什么问题以及我该如何解决有任何想法吗?

非常感谢!