Azure Blob Storage on IoT Edge now includes Auto-Tiering and Auto-Expiration functionalities

This post was authored by @Arpita Duppala, PM on the Core Operating System and Intelligent Edge team. Follow her @arnuwish on Twitter.

Azure on IoT Edge is a light-weight Azure consistent module which provides local block , available in public preview. We are excited to introduce auto-tiering and auto-expiration functionalities to our “Azure on IoT Edge” module. Currently both these new features are only available for AMD64 and ARM32, support for Windows AMD64 is coming soon.

Auto-tieringis a configurable functionality, which allows you to automatically upload the data from your local blob to Azure with intermittent internet connectivity support. It allows you to:

  1. Turn ON/OFF the tiering feature
  2. Choose the order in which the data will be uploaded to Azure like FIFO or LIFO
  3. Specify the Azure account where the data will be uploaded.
  4. Specify the containers you want to upload to Azure.
  5. Do full blob tiering(usingPut Bloboperation) and block level tiering (usingPut BlockandPut Block Listoperations).

When your blob consists of blocks, it uses block-level tiering to upload your data to Azure. Here are some of the common scenarios:

  1. Your application updates some blocks of a previously uploaded blob, this module will upload only the updated blocks and not the whole blob.
  2. 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.

Auto-Expirationis a configurable functionality where this module automatically deletes your blobs from local blob when TTL(Time to Live) expires. It allows you to:

  1. Turn ON/OFF the auto-expiration feature
  2. Specify the TTL in minutes

Azure Blob Storage on IoT Edge – Version 1.1 (March 07, 2019)

In the diagram below, we have an edge device pre-installed with 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. Then it will automatically upload the data from specified 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, research data, financial data, hospital data and so on. 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 for you to Azure and automatically deletes the old data from IoT Edge device to make space for new data.

Current Functionality:

With the current public preview module, the users can:

  • Store data locally and access the local blob storage account using the Azure Storage SDK.
  • Auto-tiering from IoT Edge device to Azure
  • Auto-expiration the data from IoT Edge device
  • Reuse the same business logic of an app written to store/access data on Azure.
  • Deploy multiple instances in an IoT Edge device.
  • Use any Azure IoT Edge Tier 1 host operating system

More Information:

Find more information about this module at


Your feedback is very important to us, to make this module and its features useful and easy to use. Please share your feedback and let us know how we can improve.

You can reach out to us at


This article was originally published by Microsoft's ITOps Talk Blog. You can find the original article here.