static private GetPackageBackupsBlobContainer ( Microsoft.WindowsAzure.Storage.Blob.CloudBlobClient blobClient ) : Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer | ||
blobClient | Microsoft.WindowsAzure.Storage.Blob.CloudBlobClient | |
Résultat | Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer |
IEnumerable <IListBlobItem> GetPackageBackupBlobItems() { var blobClient = CreateBlobClient(); var packageBackupsBlobContainer = Util.GetPackageBackupsBlobContainer(blobClient); return(packageBackupsBlobContainer.ListBlobs()); }
string DownloadPackageBackup( string id, string version, string hash) { var blobClient = CreateBlobClient(); var packageBackupsBlobContainer = Util.GetPackageBackupsBlobContainer(blobClient); var packageBackupFileName = Util.GetPackageBackupFileName( id, version, hash); var packageBackupBlob = packageBackupsBlobContainer.GetBlockBlobReference(packageBackupFileName); var downloadPath = Path.Combine(_tempFolder, packageBackupFileName); packageBackupBlob.DownloadToFile(downloadPath); return(downloadPath); }
public override void ExecuteCommand() { var blobClient = CreateBlobClient(); var storageName = StorageAccountName; Log.Trace("Getting all broken package backup files on storage account '{0}'.", storageName); var packageBackupsBlobContainer = Util.GetPackageBackupsBlobContainer(blobClient); var blobItems = GetPackageBackupBlobItems().ToList(); var blobDirectories = blobItems .Select(bi => bi as CloudBlobDirectory) .Where(directory => directory != null) .ToList(); var totalCount = blobDirectories.Count; var processedCount = 0; Log.Trace( "Deleting {0} broken package backup files (out of {1} total blob items) on storage account '{2}'.", totalCount, blobItems.Count, storageName); Parallel.ForEach(blobDirectories, blobDirectory => { try { if (!WhatIf) { DeleteBlobDirectory(blobDirectory); } Interlocked.Increment(ref processedCount); Log.Info(string.Format("Deleted broken package backup root directory '{0}' ({1} of {2}).", blobDirectory.Uri.Segments.Last(), processedCount, totalCount)); } catch (Exception ex) { Interlocked.Increment(ref processedCount); Log.Error( "Error deleting broken package backup root directory '{0}': {1} ({2} of {3}).", blobDirectory.Uri.Segments.Last(), processedCount, totalCount, ex.Message); } }); }