Cake Addin for working with Azure Storage
C# PowerShell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Cake.AzureStorage
.gitignore
Cake.AzureStorage.0.10.0.zip
Cake.AzureStorage.ReSharper
Cake.AzureStorage.sln
LICENSE.md
README.md
build.cake
build.ps1

README.md

Cake.AzureStorage

A Cake Addin for Azure Storage.

Build status

!Develop MyGet Build Status](https://www.myget.org/)

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


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.