I don't seem to be able to diagnose why my python based azure function (deployed via github actions) is not appearing in the azure function list. Something subtle is causing it to not be processed
I have successfully deployed my python script using github actions (see pic1).
I have been able to successfully see the app files visible within my azure function (see pic2).
And yet I am unable to see my function within the functions list (see pic3).
I feel like if I just had the ability to see what or how Azure is processing my files, to see if there's a problem with some configuration OR modules OR something then I would have a starting point. But right now it feels like a blackbox and I don't know what methodology to follow to figure out what's wrong.
I feel like there is something simple missing OR misconfigured, please help
I tried the Azure Function Deployment with Github actions and it was successful.
Initially, When I deployed the Function it was not visible, Refer below:-
Make sure your init.py and function.json is inside one directory and other files are outside that directory for the deployment to work successfully, Refer below:-
Reference:- SO Thread answer by jsprovoke
Now, I deployed the Function with Github action and the Function was visible in the Portal refer below:-
Refer my complete github workflow in this Link.
name: Build and deploy Python project to Azure Function App - siliconfunc12
on:
push:
branches:
- main
workflow_dispatch:
env:
AZURE_FUNCTIONAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root
PYTHON_VERSION: '3.10' # set this to the python version to use (supports 3.6, 3.7, 3.8)
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Python version
uses: actions/setup-python@v1
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Create and start virtual environment
run: |
python -m venv venv
source venv/bin/activate
- name: Install dependencies
run: pip install -r requirements.txt
# Optional: Add step to run tests here
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v2
with:
name: python-app
path: |
.
!venv/
deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'Production'
url: ${{ steps.deploy-to-function.outputs.webapp-url }}
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v2
with:
name: python-app
path: .
- name: 'Deploy to Azure Functions'
uses: Azure/functions-action@v1
id: deploy-to-function
with:
app-name: 'siliconfunc12'
slot-name: 'Production'
package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}
publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_E640D92BF68849679F8A36682B022D5F }}
scm-do-build-during-deployment: true
enable-oryx-build: true
Output:-
Python Function HTTPTrigger visible in Portal like below:-
Add the settings below to run your function app from Zip:-
HTTPTrigger ran successfully like below:-
You can directly run your Function app deployment from Deployment center with Github that will automatically create Github workflow and deploy your Function Trigger to Function app, Refer below:-