Ядро AWS Greengrass получило свое имя в лямбда-функции
Может ли лямбда, работающая на устройстве AWS Greengrass Core, получить доступ к своему собственному названию "вещь"?
Я вижу, что есть thingArn
в файле конфигурации, установленном на устройстве как часть его установки, но я не уверен, как получить к нему доступ через библиотеки AWS, которые импортируются в функцию lambda.
Я могу предоставить доступ к локальной файловой системе и получить его таким образом, но предпочел бы более элегантное решение.
2 ответа
Ответ на это да.
Контекст времени выполнения лямбды имеет набор переменных среды, которые предоставляют эти данные.
Для потомков среда выполнения 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