Webjobs SDK Beta is released

  We just released the WebJobs SDK Beta! Some highlights: ServiceBus support! Better configuration options. You can pass in an ITypeLocator to specify which types are indexed, and an INameResolver to resolve %key% tokens in the attributes to values. Cleaner model for Triggering (this is a breaking change … I need to go and update…

1

Azure Storage Naming Rules

I constantly get burned by naming rules for azure storage. Here’s a collection of the naming rules from MSDN. The Storage client libraries don’t help you with these rules and just give you a 400 if you get them wrong. Fortunately, WebJobs SDK will provide client-side validation and give you more friendly messages. Here’s a…

2

Redis Cache Service on Azure

We just previewed a Redis cache service on Azure.  A good writeup is also on ScottGu’s blog. This is Redis hosted within azure as service. You can create a cache via the portal, and then access it via Some highlights: Hosting Redis 2.8 on Azure VMs accessible via redis clients from any language. My recommendation…

2

Hosting interactive code in the Cloud

Azure WebJobs SDK alpha 2 makes it very easy to host code in the cloud and run it interactively.  You can now invoke your SDK functions directly from the dashboard. Some great uses here: Provide admin diagnostic commands for your live site. Easily host code in azure for testing benchmarking code within a datacenter. Sharing…

0

How does [BlobInput] work?

The Azure WebJobs SDK supports running functions when a new blob is added.  IE, you can write code like this: public static void CopyWithStream( [BlobInput("container/in/{name}")] Stream input, [BlobOutput("container/out1/{name}")] Stream output ) { Debug.Assert(input.CanRead && !input.CanWrite); Debug.Assert(!output.CanRead && output.CanWrite); input.CopyTo(output); } See modelbinding to blobs for how we bind the blob to types like Stream.  In…

3

Azure Storage Bindings Part 3 – Tables

This blog post was made during the early previews of the SDK. Some of the features/ APIs have changed. For thelatest documentation on WebJobs SDK, please see this link http://azure.microsoft.com/en-us/documentation/articles/websites-webjobs-resources The dictionary bindings were removed from the core product and are being moved into an extension. ==== I previously described how the Azure WebJobs SDK…

5

Who wrote that blob?

One of my favorite features of the Azure WebJobs SDK is the “Who wrote this blob?” feature. This is a common debugging scenario: you see your output is incorrect (in this case, a blob) and you’re trying to find the culprit that wrote the bad output. On the main dashboard, there’s a “Search Blobs” button,…

0

Azure Storage Bindings Part 2 – Queues

  I previously described how the Azure Webjobs SDK can bind to Blobs. This entry describes binding to Azure Queues.   (Binding to Service Bus Queues is not yet implemented) You can see some more examples for queue usage on the sample site. Here are some supported queue bindings in the Alpha: Queue Input for BCL…

0

Azure Storage Bindings Part 1 – Blobs

The Azure WebJobs SDK provides model binding between C# BCL types and Azure storage like Blobs, Tables, and Queues. The SDK has a JobHost object which reflects over the functions in your assembly.  So your main looks like this: static void Main() { string acs = "DefaultEndpointsProtocol=https;AccountName=???;AccountKey=???"; JobHost host = new JobHost(acs); // From nuget:…

0

Trigger, Bindings, and Route parameters in AzureJobs

We recently an alpha for WebJobs SDK (aka AzureJobs , and internally codenamed “SimpleBatch”). In this blog entry, I wanted to explain how Triggers, Bindings, and Route Parameters worked in AzureJobs. A function can be “triggered” by some event such as a new blob, new queue message, or explicit invocation. JobHost (in the Microsoft.WindowsAzure.Jobs.Host nuget…

0