Progreso de una subida asíncrona a Azure Storage

El post de hoy viene porque no he sido capaz de encontrar un ejemplo de este escenario tan simple: estoy haciendo una subida de un archivo grande a un blob en Azure Storage en C# y me gustaría conocer el progreso, ya que va para largo 🙂 Aquí te dejo el código en un ejemplo de consola de cómo saber en qué punto de la subida está, haciendo uso de IProgress en la llamada:

Lo que estoy haciendo es utilizar una sobrecarga del método UploadFromStreamAsync en la que puedo utilizar un handler del tipo IProgress y así poder controlar el progreso de mi llamada asíncrona. El resultado sería parecido al siguiente:

Espero ahorrarte un ratito 🙂

¡Saludos!