如何在Azure IoT Edge部署JSON文件中设置环境变量?
在IoT Edge部署JSON文件中设置环境变量
你可以在部署JSON文件的模块配置节点中添加env字段来定义环境变量,具体配置方式如下:
示例配置片段
"modulesContent": { "$edgeAgent": { "properties.desired": { "modules": { "你的目标模块名称": { "settings": { "image": "你的模块镜像地址", "createOptions": "" }, "type": "docker", "env": { "ENV_VAR_1": { "value": "变量值1" }, "ENV_VAR_2": { "value": "变量值2", "secretFlags": 1 // 敏感数据设置为1,IoT Edge会加密存储 } }, "status": "running", "restartPolicy": "always" } }, "runtime": { "settings": { "minDockerVersion": "v1.25" }, "type": "docker" }, "schemaVersion": "1.1", "systemModules": { "edgeAgent": { "settings": { "image": "mcr.microsoft.com/azureiotedge-agent:1.4", "createOptions": "" }, "type": "docker" }, "edgeHub": { "settings": { "image": "mcr.microsoft.com/azureiotedge-hub:1.4", "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}],\"443/tcp\":[{\"HostPort\":\"443\"}]}}}" }, "type": "docker", "status": "running", "restartPolicy": "always" } } } }, "$edgeHub": { "properties.desired": { "routes": {}, "schemaVersion": "1.1", "storeAndForwardConfiguration": { "timeToLiveSecs": 7200 } } } }
关键说明
env字段需放在目标模块的配置节点下,与settings、status同级- 每个环境变量以键值对形式定义,
value字段填写变量的具体内容 - 若为敏感数据(如密码、密钥),添加
secretFlags: 1,IoT Edge会加密存储该变量,避免明文泄露
修改完JSON文件后,重新执行你之前的部署命令即可生效:
az iot edge set-modules --hubname xxx --device-Id yy --content ./deployment.arm64vf8.json
内容的提问来源于stack exchange,提问作者codeputer
相关产品推荐
相关产品推荐

