Published in


Introduction to Azure Functions in Ballerina

Ballerina since v1.2.5 has built-in support for Azure Functions. In this way, you can take a Ballerina function and expose it as a serverless function in Azure Functions. Azure Functions take on a unique approach in defining serverless functions with the function trigger and bindings concept. In this way, we can access other cloud services such as storage services (queue, blob, etc.), CosmosDB, Twillio, and timers right from the function itself without any additional connectors or authentication processes. We map our parameters and return types with these bindings, which provides us direct access to the resources.

In the following video, I’ve done a walk-through of the main features of the Ballerina Azure Functions extension. Here I will be writing functions by using the triggers and bindings functionality, and showing how to build and deploy the functions.

The Ballerina extension for Azure Functions was possible through the custom handlers functionality that was introduced to further extend language support in Azure Functions. Using this support, it was possible to write a compiler extension, which generates the required artifacts for Azure Functions. For more details on how this was done, and for the source code, check here:

More information on Azure Functions in Ballerina can be found with the following resources:



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Anjana Fernando

Author of ‘Beginning Ballerina Programming’ | Software Developer | Evangelist | 🇱🇰 🇺🇸 | Working at WSO2 Inc. — @lafernando