Just A Guy Coding

JAGC Blog


Monday, 05 June, 2017

How to download and back up Microsoft Azure Web Applications - Part 2

This post explains how to zip and download your Microsoft Azure web application’s files using Azure's KUDU REST API.

This post is part of a series on how to backup Microsoft Azure web applications. Read how to download files using FTPS here.

KUDU

Kudu is the engine behind git source control deployments in Microsoft Azure. It also provides a series of tools useful for analysis, debugging and, in our case today, downloading your files.

The KUDU Rest API

KUDU provides a REST API which can be used to quickly download web application's files. Full documentation can be found at https://github.com/projectkudu/kudu/wiki/REST-API. We're interested it's Zip functionality.

GET /api/zip/{path}/
Zip up and download the specified folder. The zip doesn't include the top folder itself. Make sure you include
the trailing slash!

KUDU's Dashboard

To see KUDU's dashboard and all the features it has to offer browse to https://???.scm.azurewebsites.net where ??? is the name of your Azure web application. I'm not going to talk about KUDUs features in this post, suffice it to say it's a useful tool and you should take a look at it.

Image of KUDU console dashboard

NOTE: You'll be asked to authenticate before Azure will allow you to access your KUDU dashboard.

Downloading Zipped Files

KUDU's REST API provides a Zip command which allows us to quickly zip and download files.

Simply type your KUDU URL in to your browser followed by the REST command and the path of the folder you'd like to download. So, for example, to download your web application's file set:

https://???.scm.azurewebsites.net/api/zip//site/wwwroot/

Image of downloading a zip

NOTE: You'll be asked to authenticate before Azure will allow you to download files.

Conclusion

KUDU is a useful tool with a lot of useful functions and commands. It's API helps you to discover how your application is configured and diagnose issues; used with PowerShell laborious manual tasks like backups can be automated, something I'll be posting about in the future.

Want to Thank Me?

;