A Cake Addin for Azure Storage.
Supports uploading Blobs to Azure Blob Storage as well as deleting them by prefix and by name. More features to be added in the future.
To use the addin just add it to Cake call the aliases and configure any settings you want.
#addin "Cake.AzureStorage"
...
// How to package with no settings
Task("PackageNoSettings")
.Does(() => {
var settings = new AzureStorageSettings();
settings.AccountName = "AccountName";
settings.Key = "API KEY";
settings.ContainerName = "ContainerName";
settings.BlobName = "BlobName";
UploadFileToBlob(settings, GetFile("./path/to/file/to/upload"));
});
Task("PackageAfterDelete")
.Does(() => {
var settings = new AzureStorageSettings();
settings.AccountName = "AccountName";
settings.Key = "API KEY";
settings.ContainerName = "ContainerName";
settings.BlobName = "NameToDelete";
DeleteBlob(settings);
settings.BlobName = "NameToUploadAs";
var filePath = new FilePath("./location/of/file/to/upload");
UploadFileToBlob(settings, filePath);
});
Task("PackageAfterMultiDelete")
.Does(() => {
var settings = new AzureStorageSettings();
settings.AccountName = "AccountName";
settings.Key = "API KEY";
settings.ContainerName = "ContainerName";
settings.BlobName = "PrefixToSearchBy";
var deletedLog = DeleteBlobsByPrefix(settings);
foreach (var line in deletedLog){
Information(line);
}
settings.BlobName = "NameToUploadAs";
var filePath = new FilePath("./location/of/file/to/upload");
UploadFileToBlob(settings, filePath);
});
The Prefix used for deleting blobs is exactly like it sounds, a prefix of the file you want to delete. So if you have files named ABC-ImportantFile-1.0.0.1.exe, ABC-ImportantFile-1.0.0.2.exe, ABC-ImportantFile-1.0.0.3.exe, etc. You can delete these by specifying "ABC-ImportantFile-" as your blob name and it will get all files starting with that string.
That's it.
Hope you enjoy using.