如何从IoT Edge Custom模块(python)中获取设备名称

问题描述 投票:1回答:1

摘要

通过python代码请求时,我没有从设备获得预期的主机名;我得到一些容器ID

背景

在python 3中在Raspbian上运行以下代码时:

import socket
print(socket.gethostname())

要么:

import platform
platform.node()

...您将获得正在运行代码的计算机的主机名。 (这就是我的期望)

从Custom IoT Edge模块执行相同操作时,您会获得某种标识符,我认为该容器?

如何在容器模块本身中获取容器运行的系统的主机名?

如建议的那样,设备ID和模块ID作为环境变量公开:IOTEDGE_DEVICEID和IOTEDGE_MODULEID。

所以现在在python中你可以做到以下几点:

DEVICEID = os.environ["IOTEDGE_DEVICEID"]
MODULEID = os.environ["IOTEDGE_MODULEID"]

然后在你的(python)代码中使用类似的变量。

python azure-iot-edge
1个回答
0
投票

有关类似问题,请参阅here。简短回答:在自定义模块容器上执行docker inspect,并查看可用的不同环境变量。其中一个是Edge设备的主机名。

© www.soinside.com 2019 - 2024. All rights reserved.