How to test the Azure Webjobs SDK projects locally

azure-webjobsazure-webjobssdk

I want to be able to test an Azure WebJobs SDK project locally, before I actually publish it to Azure.

If I make a brand new Azure Web Jobs Project, I get some code that looks like this:

Program.cs:

// To learn more about Microsoft Azure WebJobs SDK, please see http://go.microsoft.com/fwlink/?LinkID=320976
class Program
{
    // Please set the following connection strings in app.config for this WebJob to run:
    // AzureWebJobsDashboard and AzureWebJobsStorage
    static void Main()
    {
        var host = new JobHost();
        // The following code ensures that the WebJob will be running continuously
        host.RunAndBlock();
    }
}

Functions.cs:

public class Functions
{
    // This function will get triggered/executed when a new message is written 
    // on an Azure Queue called queue.
    public static void ProcessQueueMessage([QueueTrigger("queue")] string message, TextWriter log)
    {
        log.WriteLine(message);
    }
}

I would like to get around to testing whether or not the QueueTrigger function is working properly, but I can't even get that far, because on host.RunAndBlock(); I get the following exception:

An unhandled exception of type 'System.InvalidOperationException'
occurred in mscorlib.dll

Additional information: Microsoft Azure WebJobs SDK Dashboard
connection string is missing or empty. The Microsoft Azure Storage
account connection string can be set in the following ways:

  1. Set the connection string named 'AzureWebJobsDashboard' in the connectionStrings section of the .config file in the following format
    , or

  2. Set the environment variable named 'AzureWebJobsDashboard', or

  3. Set corresponding property of JobHostConfiguration.

I ran the storage emulator, and set the Azure AzureWebJobsDashboard connection string like so:

<add name="AzureWebJobsDashboard" connectionString="UseDevelopmentStorage=true" />

but, when I did that, I'm getting a different error

An unhandled exception of type 'System.InvalidOperationException'
occurred in mscorlib.dll

Additional information: Failed to validate Microsoft Azure WebJobs SDK
Dashboard account. The Microsoft Azure Storage Emulator is not
supported, please use a Microsoft Azure Storage account hosted in
Microsoft Azure.


Is there any way to test my use of the WebJobs SDK locally?

Best Answer

WebJobs 2.0 now works using development storage (I'm using v2.0.0-beta2).

Note that latency in general and Blob triggers in particular are currently far better than you can get in production. Design with care.