在物联网边缘模块中传递环境变量

时间:2019-08-16 08:31:08

标签: python azure-iot-hub azure-iot-edge

我正在为我的Linux臂设备构建Microsoft IoT边缘python模块。我必须从我的deployment.template.json文件访问python模块中的环境变量。该文件显示了如何将环境变量从环境传递到模块。问题是如何在代码内部访问它们。

deployment.template.json文件:

query employeeInfo($empId: Int = 5) {
  employee(id: $empId) {
    firstName
    lastName
  }
}

如何访问python代码模块中的环境{"query":"query employeeInfo($empId: Int = 5) {\n employee(id: $empId) {\n firstName\n lastName\n }\n}\n","variables":null,"operationName":"employeeInfo"}] 变量?

2 个答案:

答案 0 :(得分:2)

os.environ应该有它。

类似

import os
os.environ['test_var']

答案 1 :(得分:0)

首先需要构建IoT边缘解决方案,以便使用VS Code中的Generate IoT Edge Deployment Manifest访问变量,然后在模拟器中运行该解决方案。我的代码显示了如何访问变量。


def main(protocol):
    try:
        print ( "\nPython %s\n" % sys.version )
        print ( "Module client" )

        hub_manager = HubManager(protocol)
        os.environ['test_var'] // prints secret i.e. value of the variable itself


    except IoTHubError as iothub_error:
        print ( "Unexpected error %s from IoTHub" % iothub_error )
        return
    except KeyboardInterrupt:
        print ( "client stopped" )

if __name__ == '__main__':
    main(PROTOCOL)```