Azure Blob Storage on IoT Edge is a light-weight Azure consistent module which provides local block blob storage, and comes with deviceToCloudUpload and deviceAutoDelete functionalities. It is available in public preview with support for Windows AMD64, Linux AMD64, Linux ARM32 and Linux ARM64
deviceToCloudUpload is a configurable functionality, which allows you to automatically upload the data from your local blob storage to Azure with intermittent internet connectivity support. It allows you to:
Turn ON/OFF the this feature
Choose the order in which the data will be uploaded to Azure like FIFO or LIFO
Specify the Azure Storage account where the data will be uploaded.
Specify the containers you want to upload to Azure.
Choose the ability to delete the blobs immediately, after upload to cloud storage is finished
Do full blob upload(using
operation) and block level upload(using
Put Block List
When your blob consists of blocks, it uses block-level upload to copy your data to Azure. Here are some of the common scenarios:
Your application updates some blocks of a previously uploaded blob, this module will upload only the updated blocks and not the whole blob.
The module is uploading blob and internet connection goes away, when the connectivity is back again it will upload only the remaining blocks and not the whole blob.
deviceAutoDelete is a configurable functionality where this module automatically deletes your blobs from local blob storage when deviceAutoDelete value expires. It allows you to:
Turn ON/OFF the this feature
Specify the time in minutes
Choose the ability to retain the blob while it is uploading if deleteAfterMinutes value expires
Azure Blob Storage on IoT Edge – Version 1.2 (June 20, 2019)
In the diagram below, we have an edge device running Azure IoT Edge runtime. It is running a custom module to process the data collected from the sensor and saving the data to the local blob storage account. Because it is Azure-consistent, the custom module can be developed using the Azure Storage SDK to make calls to the local blob storage, or simply use the pre-existing applications like Azure Storage Explorer. Then it will automatically upload the data from specified containers to Azure while making sure your IoT Edge device does not run out of space.
This scenario is useful when there is a lot of data to process. For example, data from industries who captures survey and behavioral data. It is efficient to do the processing of data locally because there is a lot of data that is continuously being captured. Azure Blob Storage on IoT Edge module allows you to store and access such data efficiently, process if required, and then automatically upload that data to Azure and automatically deletes the data when upload is finished from IoT Edge device making space for new data.
Release notes and configuration details for Version 1.2
We heard your feedback, below are the additions and improvements in this version.
deviceToCloudUpload and deviceAutoDelete functionalities are now available for Windows AMD64
Added feature to automatically delete the blobs from IoT device after they are uploaded to Azure
Includes bug fixes and performance improvements
Desired properties setting names are changed. With this build old names will not work.
Upgrade from 1.1 to 1.2 is not supported. Make sure a new volume binding is used when the new image is deployed.