在 AWS Greengrass Core 设备上运行的 lambda 能否访问其自己的“事物”名称?
我可以看到thingArn
作为安装的一部分安装在设备上的配置文件中,但我不确定如何通过导入到 lambda 函数中的 AWS 库来访问它。
我可以授予对本地文件系统的访问权限并以这种方式获取它,但我更喜欢更优雅的解决方案。
在 AWS Greengrass Core 设备上运行的 lambda 能否访问其自己的“事物”名称?
我可以看到thingArn
作为安装的一部分安装在设备上的配置文件中,但我不确定如何通过导入到 lambda 函数中的 AWS 库来访问它。
我可以授予对本地文件系统的访问权限并以这种方式获取它,但我更喜欢更优雅的解决方案。
答案是肯定的。
lambda 的运行时上下文有一组暴露这些数据的环境变量。
对于后代,Greengrass 运行时设置了许多环境变量,可以像您选择的客户端语言中的任何其他环境变量一样访问这些环境变量。例如,在 Python 中,您可以在 Greengrass 组件/Lambda 函数中执行此操作:
import os
thing_name = os.getenv("AWS_IOT_THING_NAME")
https://docs.aws.amazon.com/greengrass/v2/developerguide/component-environment-variables.html