Azure Data Lake Extension for Azure Functions

As part of our internal hack week a few months back, I built out an extension for Azure Functions that lets you connect directly to an Azure Data Lake Store. This extension can be used as an input or output binding.

You can install the extension from the official repo:

Example function using output binding:

Example function using input binding:

Happy Coding!

BoxWorks 2017

This year’s BoxWorks is full of amazing speakers, sessions and tracks to help you drive the future of your business. Come join thousands of other executives, developers, administrators and business leads to share ideas and get inspired from each other.

This year I will be hosting the following session.

Using Serverless Platforms

The advent of new technologies has created a new norm of development without traditional servers. This has created a new opportunity for software developers to easily build and deploy cloud applications, and also requires cloud API providers to provide tools for developers building in server-less environments. In this session, we’ll discuss the growing popularity of server-less development and the types of tools available to serverless developers. We’ll also provide a tutorial for how to use Azure Functions, Microsoft Azure’s serverless environment, with Box Platform.

Functions17 – Toronto, ON

FaaS (Function as a Service) architecture is radically changing how software is built how teams interface with each other and systems at scale. The old paradigms of REST are being replaced with remote functions, event-driven architectures, and new standards like GraphQL. We’re organizing a space for Creativity, Exploration, Discussion and Learning to help developers learn and get in touch with the industry leaders on these topics.

Join us for a full day event with speakers from industry leading FaaS companies and a panel discussion on the future of the FaaS tooling and infrastructure space!


Kassandra Perch – IOPipe
Daniel Krook – IBM / OpenWhisk
Keith Horwood – StdLib / FaaS Lang
Sandeep Dinesh – Google / Firebase
Adib Saikali – Pivotal / Spring Cloud Function
Stuart Charlton – Pivotal / Spring Cloud Function
Chris Munns – Amazon / AWS Lambda
Joe Raio – Microsoft / Azure

We Rise Women in Tech Conference: What is Serverless & why you should care. Taking advantage of Serverless architecture…

What is Serverless & why you should care. Taking advantage of Serverless architecture for mobile & web applications

Not sure what exactly Serverless is and how it applies to your web & mobile application? In this session we will teach you about Serverless architecture, it’s many advantages, how it can reduce your costs and the major Serverless offerings available (Azure Functions and AWS Lambda). Additionally, we will walk through some real world examples of Serverless functions that were used in Mobile Apps to either replace or extend functionality. This will include live coding demonstrations.

Azure Functions with Multiple Output Bindings

Recently while working on a partner project, it was required that we build an Azure Function that not only outputs to an Azure Storage Queue, but also archives that same message in Azure Storage. While the concept itself is simple, I wanted to use the built in Azure Functions bindings to do this as simply and cleanly as possible. After a little research, it turns out this is possible and very easy to implement.

The following walks you through how to create an Azure Function with a manual trigger that both sends a message to Azure Table Storage and Azure Queue Storage through built in Azure Function Bindings.

As with anything, there are multiple ways you can do this. I will walk you through from the very beginning starting with the easiest method, through the Azure Portal.

The following assumes you have an Azure Account. If not you can sign up for a free trial here or you can try the Azure Functions for free by clicking here.

If you would like to skip the tutorial and go right to the code, you can view the repo here: Azure Functions Multiple Output Bindings.

Create a new Function App (you can skip this step if you are using the try Azure Functions demo)

This will create your Azure Function App Service and a corresponding blob storage account. For the demo we will use this blob storage account but technically you could use any by utilizing the connection string.



Browse to the new function app you created. Click on new function, choose C#, then ManualTrigger-CSharp and click create.

Note; We are doing a manual trigger for demo purposes but you could use any of the triggers available.

Great! Now we have an Azure Function created. Lets add some output bindings. Click on “Integrate

From here, we can easily add multiple output bindings through the interface.

Click on New Output, choose Azure Queue Storage and click Select

Leave all the default values and click Save. We will come back to these later.

Again, click on New Output, this time choose Azure Table Storage, and hit Select.

Again, let’s leave all the default values and click Save.

Behind the scenes, the portal interface has been modifying your function.json file which contains all the trigger and binding information for your Azure Function. Your function.json should now look like this.

You can get to this by click on “view files” and selecting function.json.

function.json tells the Azure Function that you now have two output binding and holds their configuration values. In this case we want to output to a table named outputTable and a storage queue names outqueue. All this using the default connection to the storage account we created.

Note; you do not have to create the Azure Storage Queue or Table. It will automatically be created if it does not exist.

All we need to do now is add some code to the function to send data to those bindings.

Let’s go back to our run.csx and replace all the code with the following:

Click save and if you did everything correctly you should see Compilation Succeeded

That’s it! You now have an Azure Function that can easily write to Azure Table Storage and Azure Storage Queue using built in Output bindings and very little code.

If you go ahead and run it you should get the following message. In addition, if you open the storage account for the function you will see the new table and queue created with the messages stored.