IotEdge Module Environment
This short article provides a list of all environment variables visible inside of container, which hosts your custom iot edge module.
They have been listed by executing command:
printenv
IOTEDGE_DEVICEID=IOTEDGEDEVICEID
HOSTNAME=037da582dc34
IOTEDGE_GATEWAYHOSTNAME=YOURMACHINENNAME
PWD=/app
HOME=/home/moduleuser
IOTEDGE_WORKLOADURI=http://10.0.75.1:15581/
IOTEDGE_MODULEGENERATIONID=636706377995602534
IOTEDGE_AUTHSCHEME=sasToken
RuntimeLogLevel=Information
IOTEDGE_APIVERSION=2018-06-28
DOTNET_RUNNING_IN_CONTAINER=true
TERM=xterm
SHLVL=1
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
IOTEDGE_MODULEID=YOURMODULEID
IOTEDGE_IOTHUBHOSTNAME=YOURIOTHUBNAME.azure-devices.net
Thise (most of them) variables are used in SDK when materializing the ModuleClient instance, which is responsible to communication with EdgeHub module.
You can find more about this in following surce code file.
Implementation of factory is here.
Every IotEdge module holds a set of environment variables, which can be used to uniquely identify the module. Following variables can be used to form unique gateway identifier:
IOTEDGE_DEVICEID=ai-01
IOTEDGE_MODULEGENERATIONID=636713944167870115
IOTEDGE_MODULEID=sinusgen
IOTEDGE_IOTHUBHOSTNAME=myhub.azure-devices.net
If required, unique gateway identifier can be formed as follows:
Unique Gateway Identifier = IOTEDGE_IOTHUBHOSTNAME/IOTEDGE_DEVICEID/IOTEDGE_MODULEID/IOTEDGE_MODULEGENERATIONID
Following is an example of unique gateway identifier:
myhub.azure-devices.net/ai-01/sinusgen/636713944167870115