Azure Function Apps with Python
Azure Function Apps allows to develop server-less application on Azure platform. For those of you who are wondering what exactly are those, think of something like a platform to run your code on cloud without setting up Cloud VMs(Server), which are pretty expensive when you only need to run something simple such as a single Python Script. It’s an inexpensive way of running your Scripts. If you wanna read more about it, go here.
At the time of writing the post, Function Apps supports languages such as C#, F#, Node.js, Python, or PHP. And in coming days you might see a lot more support for other languages.
Running Python scripts are my prime concern but Python support is still in beta stage. But there are some workarounds by which you can set up the environment as you desire.
By default it comes with Python 2.7.x but since the whole community is slowly shifting towards Python 3.X. First challenge is to get the environment to Python 3.6.x which is latest.
Note : If you don’t have an account yet, you can just sign up for a free-trial and Azure will give you free credits for a month to test their services.
You can follow the steps under :
1.Create an Function App by going to the Azure Portal then New → Compute → Function App → Enter Details & Select Subscription → Create
2. After your Function App is allocated go to Functions Tab → + → Custom Function link → Choose Language “Python” → Select Type of Application → Give a Name → Create
You can check the platform by typing two lines of code below:
print("Python == ", platform.python_version())
In the logs Tab you will find Python == 2.7.x.
3.Get Python 3.x environment
- Go to Kudu Debug Console by going to the link (with your won applicaton name ) https://<APP_NAME>.scm.azurewebsites.net/DebugConsole
- You should be in D:\home>, navigate to D:\home\site\tools using cd command
- Install Python 3.6.x using the command below
D:\home\site\tools> nuget.exe install -Source https://www.siteextensions.net/api/v2/ -OutputDirectory D:\home\site\tools python361x64
- We need the python.exe (Python 3.6.x) in D:\home\site\tools, use the following command
D:\home\site\tools> mv /d/home/site/tools/python361x22.214.171.124.3/content/python361x64/* /d/home/site/tools/
- Now install custom packages using pip
D:\home\site\tools> python.exe -m pip install requests
You can install all the required packages for your environment and then run code with ease. There are a lot more features in Function Apps, make sure to check them out and use if it meets your use case without the hassle and cost of maintaining a dedicated VM.