static private GetPackageFileBlob ( Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer packagesBlobContainer, string id, string version ) : Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob | ||
packagesBlobContainer | Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer | |
id | string | |
version | string | |
return | Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob |
public override void ExecuteCommand() { new BackupPackageFileTask { BackupStorage = BackupStorage, StorageAccount = StorageAccount, PackageId = PackageId, PackageVersion = PackageVersion, PackageHash = PackageHash, WhatIf = WhatIf }.ExecuteCommand(); var blobClient = CreateBlobClient(); var packagesBlobContainer = Util.GetPackagesBlobContainer(blobClient); var packageFileBlob = Util.GetPackageFileBlob( packagesBlobContainer, PackageId, PackageVersion); var fileName = Util.GetPackageFileName( PackageId, PackageVersion); if (packageFileBlob.Exists()) { Log.Info("Deleting package file '{0}'.", fileName); if (!WhatIf) { packageFileBlob.DeleteIfExists(); } } else { Log.Warn("Package file does not exist '{0}'.", fileName); } }
public override void ExecuteCommand() { var client = CreateBlobClient(); var backupClient = BackupStorage.CreateCloudBlobClient(); var backupBlobs = backupClient.GetContainerReference("package-backups"); var packageBlobs = client.GetContainerReference("packages"); if (!WhatIf) { backupBlobs.CreateIfNotExists(); } var backupFileName = Util.GetPackageBackupFileName( PackageId, PackageVersion, PackageHash); var backupPackageBlob = backupBlobs.GetBlockBlobReference(backupFileName); if (backupPackageBlob.Exists()) { Log.Info("Skipped {0} {1}: backup already exists", PackageId, PackageVersion); return; } var packageFileBlob = Util.GetPackageFileBlob( packageBlobs, PackageId, PackageVersion); var packageFileName = Util.GetPackageFileName( PackageId, PackageVersion); var downloadedPackageFilePath = Path.Combine(Util.GetTempFolder(), packageFileName); // Why are we still downloading/uploading instead of using Async Blob Copy? // Because it feels a little safer to ensure we know the copy is truely complete before continuing. // I could be convinced otherwise though // - anurse Log.Trace("Downloading package file '{0}' to temporary file '{1}'.", packageFileName, downloadedPackageFilePath); if (!WhatIf) { packageFileBlob.DownloadToFile(downloadedPackageFilePath); } Log.Trace("Uploading package file backup '{0}' from temporary file '{1}'.", backupFileName, downloadedPackageFilePath); if (!WhatIf) { backupPackageBlob.UploadFile(downloadedPackageFilePath); backupPackageBlob.Properties.ContentType = "application/zip"; backupPackageBlob.SetProperties(); } Log.Trace("Deleting temporary file '{0}'.", downloadedPackageFilePath); if (!WhatIf) { File.Delete(downloadedPackageFilePath); } Log.Info("Backed Up {0} {1}", PackageId, PackageVersion); }
public override void ExecuteCommand() { var client = CreateBlobClient(); var backupClient = BackupStorage.CreateCloudBlobClient(); var backupBlobs = backupClient.GetContainerReference("package-backups"); var packageBlobs = client.GetContainerReference("packages"); if (!WhatIf) { backupBlobs.CreateIfNotExists(); } var backupFileName = Util.GetPackageBackupFileName( PackageId, PackageVersion, PackageHash); var backupPackageBlob = backupBlobs.GetBlockBlobReference(backupFileName); if (backupPackageBlob.Exists()) { Log.Info("Skipped {0} {1}: backup already exists", PackageId, PackageVersion); return; } var packageFileBlob = Util.GetPackageFileBlob( packageBlobs, PackageId, PackageVersion); var packageFileName = Util.GetPackageFileName( PackageId, PackageVersion); var downloadedPackageFilePath = Path.Combine(Util.GetTempFolder(), packageFileName); Log.Trace("Downloading package file '{0}' to temporary file '{1}'.", packageFileName, downloadedPackageFilePath); if (!WhatIf) { packageFileBlob.DownloadToFile(downloadedPackageFilePath); } Log.Trace("Uploading package file backup '{0}' from temporary file '{1}'.", backupFileName, downloadedPackageFilePath); if (!WhatIf) { backupPackageBlob.UploadFile(downloadedPackageFilePath); backupPackageBlob.Properties.ContentType = "application/zip"; backupPackageBlob.SetProperties(); } Log.Trace("Deleting temporary file '{0}'.", downloadedPackageFilePath); if (!WhatIf) { File.Delete(downloadedPackageFilePath); } Log.Info("Backed Up {0} {1}", PackageId, PackageVersion); }