public HydrationStatusModel CheckHydrationStatus(BlobHydrateModel model, string queueName)
        {
            var ret = new HydrationStatusModel();

            ret.Hydrate(model);

            var accountClient = new BlobServiceClient(_cs);

            var containerClient = accountClient.GetBlobContainerClient(model.ContainerName);

            BlobClient blobClient = containerClient.GetBlobClient(model.BlobName);

            var properties = blobClient.GetProperties();

            if (properties.Value.ArchiveStatus == "rehydrate-pending-to-hot")
            {
                ret.Status = HydrationStatus.NotHydrated;

                QueueClient queueClient    = new QueueClient(_cs, queueName);
                var         json           = JsonConvert.SerializeObject(model);
                string      requeueMessage = Convert.ToBase64String(Encoding.UTF8.GetBytes(json));
                queueClient.SendMessage(requeueMessage, visibilityTimeout: TimeSpan.FromMinutes(_visibilityTimeout));
            }
            else
            {
                ret.Status = HydrationStatus.Hydrated;
                ret.HydratedFileDataTime = DateTime.Now;
            }

            return(ret);
        }
        public void RehydrateBlob(string containerName, string blobName, string queueName)
        {
            var accountClient = new BlobServiceClient(_cs);

            var containerClient = accountClient.GetBlobContainerClient(containerName);

            // Get a reference to a blob
            BlobClient blobClient = containerClient.GetBlobClient(blobName);

            blobClient.SetAccessTier(AccessTier.Hot);

            var model = new BlobHydrateModel()
            {
                BlobName = blobName, ContainerName = containerName, HydrateRequestDateTime = DateTime.Now
            };

            QueueClient queueClient    = new QueueClient(_cs, queueName);
            var         json           = JsonConvert.SerializeObject(model);
            string      requeueMessage = Convert.ToBase64String(Encoding.UTF8.GetBytes(json));

            queueClient.SendMessage(requeueMessage);
        }