使用Lambda函数访问GGv2配置文件

0

【以下的问题经过翻译处理】 大家好,

我有一个 lambda 函数在无容器模式下作为组件部署在核心设备上运行。我想利用位于 /greengrass/v2/config 的配置文件来了解配置细节,例如 iot endpoint、cert 文件和 thing 名称。然而,该配置文件的权限集限制为700,因此我的 lambda 函数无法访问它。我尝试手动将配置文件夹更改为权限集为777,这可以工作,但重新启动后它会重置权限。使用启动脚本由于服务的时序问题而无法使用。我想自动化这个过程。造成权限问题有没有什么方法可以访问这些配置文件?

profile picture
专家
已提问 5 个月前15 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好,nachoman,

/greengrass/v2/config这样的配置文件不应该被任何组件读取或修改。有一些方法使得组件能够安全地获取一些必要的信息。

  1. 你可以利用组件内部的IPC来读取其他组件的配置。在这种情况下,你可以从aws.greengrass.Nucleus组件中获取端点信息。

使用IPC读取配置的文档 - https://docs.aws.amazon.com/greengrass/v2/developerguide/ipc-component-configuration.html#ipc-operation-getconfiguration

Nucleus组件的文档 - https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html#greengrass-nucleus-component-configuration

  1. 你可以在组件中以环境变量AWS_IOT_THING_NAME的形式访问设备名称,该变量对所有组件进程都是固定的。

  2. 证书路径 - 基于安全考虑,这并不适用于组件读取。可以解释一下你在组件中访问它的用例吗,这样我们可以考虑是否真正需要这些信息以及解决你的用例的其他替代方案。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则