Azure Functions is a new feature of Azure that lets you easily create “serverless” snippets of code that integrate different systems. Functions can be triggered in numerous ways and all you need to do is write the integration code between the inputs and outputs. They allow for binding to HTTP Endpoints, triggering on DocumentDB changes or generic Web Hooks among other things. Each Azure Functions app is running an instance of Kudu for managing the source control and file system for the functions on the system.

Kudu has an API that is accessible via the URL https://<functions app name>.scm.azurewebsites.net>. To access the API, you need to use Basic Auth and provide the Deployment Credentials for the Azure Web App. Since Functions has it’s own blade, you need to download the publish settings from the Azure App Services blade instead. You can get them by clicking the ellipses next to the Functions service and clicking Get publish profile.

Once you download the profile, open it with a text editor and you can grab the userName and userPWD values. As a test you can use your favorite REST client and do things like create folders using the VFS API.

The changes should be immediately reflected in your Kudu web portal and on the file system of your web app.

More information about the Kudu API can be found here.