If you look at the routes page in Azure IoT Edge configuration wizard, what do you prefer?
The current notation:
Or do you prefer a flow chart like this:
The routes in Azure IoT edge are a clever solution to describe how messages from one module are sent to another. But the JSON notation can become less readable once you add more (up to twenty) modules. That could end up eg. nineteen routes or more!
Just as an experiment I was thinking about how the ease the experience using a graphical interface.
I prefer the second solution, probably just like you.
So let’s look at how you can create the same experience with your routes of your IoT Edge device.
This article is updated on 29-04-2020 with configuration information for Windows containers on Windows 10 1809 LTS (Moby runtime).
Microsoft has opened the Azure Marketplace for IoT Edge modules. This makes it easy to find and install IoT Edge modules into your own IoT Edge devices.
At this moment a dozen or more modules are available:
We see a few well-known modules from Microsoft which support SQL Server, Modbus, OPC-UA or the Temperature sensor simulation.
One of these modules is supporting SQLite.
What is SQLite?
According to the homepage, SQLite is an in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. The code for SQLite is in the public domain and is thus free for use for any purpose, commercial or private. SQLite is the most widely deployed database in the world with more applications than we can count, including several high-profile projects.
What does the module do?
This IoT Edge module is capable of accessing SQLite databases locally.
“Using this module, developers can build Azure IoT Edge solutions with the capability to access SQLite databases. The SQLite module is an Azure IoT Edge module, capable of executing SQL queries sent from other modules, and return the result to the senders or to the Azure IoT Hub via the Edge framework. Developers can modify the module tailoring to any scenario.”
The module is open source and both documentation and source code are put on GitHub.