Cake Addin for working with Azure Storage
C# PowerShell
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
nuspec/nuget
src
.appveyor.yml
.gitignore
GitReleaseManager.yml
GitVersion.yml
LICENSE.md
README.md
build.ps1
setup.cake

README.md

Cake.AzureStorage

A Cake Addin for Azure Storage.

Build status

Develop MyGet Build Status

cakebuild.net

Join the chat at https://gitter.im/cake-build/cake

Functionality

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.

Usage

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"));
	});

// How to specify blob content type if necessary
Task("PackageSpecifyContentType")
	.Does(() => {
     var settings = new AzureStorageSettings();
     settings.AccountName = "AccountName";
     settings.Key = "API KEY";
     settings.ContainerName = "ContainerName";
     settings.BlobName = "BlobName";
	 settings.ContentType = "image/jpeg";
	   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.