2

Is there any plan to expand the Registry Manager CreateQuery to be able to select modules, or be able to create IOT Hub jobs that are able to target modules?

In this scenario, imagine we have 2k devices in the field, of twelve different flavors of device (drones, trucks, coolers, airplanes, etc, etc) - but they all have a common module, the temp sensor.

What if I fix a bug in temp sensor - and want to deploy that across all the devices, tweaking the modules image property to point to the new version of the temp sensor image.

  • I can't use IoT Edge Deployment, because that defines what a device looks like.
  • I can't use jobs, because that targets changes at the device level.
  • I can't use RegistryManager CreateQuery - because SELECT * FROM DEVICES -- as far as I know there's no way to query modules in the hub with it.

Anyone have a best practice for handling this situation? I realize that tweaking a module's Image URI isn't in its module twin - but if I wanted to change the properties.desired for a swath of modules that match a criteria - like properties/tags - across many types of devices?

Would it be going through all the devices $edgeAgent, looking for my modules and doing a twin update on the $edgeAgent's module twin?

Jason
  • 3,020
  • 2
  • 24
  • 23
  • It seems like you’d use a deployment for this. A deployment is a configuration (which is where a module’s image is specified) paired with a query to define the set of devices it applies to. You can have overlapping deployments, so a base deployment could contain the temp sensor and apply to all devices, and then device-category-specific deployments could be overlaid on top. You’d update the base deployment to upgrade the module on all devices. – Damon Barry Apr 07 '18 at 20:09
  • I haven't seen a case where deployments can overlap. In testing, which ever deployment matches - it takes it as the entire source of truth (removing modules that weren't in the previous one, putting in the ones defined in the deployment). That doesn't work if I want to update the code-base of a "vibration-sensor" that's used in 30 different types of devices, across 500k deployed devices. – Jason Apr 25 '18 at 19:19

0 Answers0