Hi @Youssef Awad ,
If you're deploying a Python Azure Function (v2 programming model using function_app.py
) to a Linux Consumption Plan, and encountering:
No HTTP triggers found
or your function not appearing in the Azure Portal. This is a known behavior due to Oryx build limitations and remote build constraints on Linux Consumption for the Python v2 model.
As you see below, Function app is working Locally. 
Follow the below workaround to resolve it:
Here’s what worked for me:
Deploy using Blob Storage + WEBSITE_RUN_FROM_PACKAGE
setting.
Create Resources (Linux Consumption Plan)
RESOURCE_GROUP=rg-func-demo
LOCATION=eastus
STORAGE_ACCOUNT=funcdemostorage$RANDOM
FUNCTION_APP=sadek-func-app-$RANDOM
az group create --name $RESOURCE_GROUP --location $LOCATION
az storage account create --name $STORAGE_ACCOUNT --location $LOCATION --resource-group $RESOURCE_GROUP --sku Standard_LRS
az functionapp create --name $FUNCTION_APP --storage-account $STORAGE_ACCOUNT --resource-group $RESOURCE_GROUP --consumption-plan-location $LOCATION --runtime python --runtime-version 3.11 --functions-version 4 --os-type Linux


Zip Your Function App
From inside your function directory (with function_app.py
, host.json
, and requirements.txt
):
Compress-Archive -Path * -DestinationPath functionapp.zip

Upload ZIP to Blob Storage
Run this command from the directory where functionapp.zip
is located:
az storage container create --name functiondeploy --account-name $STORAGE_ACCOUNT
az storage blob upload --account-name $STORAGE_ACCOUNT --container-name functiondeploy --file functionapp.zip --name functionapp.zip

After Upload: Generate a SAS Token & URL
SAS_TOKEN=$(az storage blob generate-sas --account-name $STORAGE_ACCOUNT --container-name functiondeploy --name functionapp.zip --permissions r --expiry $(date -u -d "1 day" '+%Y-%m-%dT%H:%MZ') --output tsv)
ZIP_URL="https://${STORAGE_ACCOUNT}.blob.core.windows.net/functiondeploy/functionapp.zip?$SAS_TOKEN"
echo $ZIP_URL

Configure Function App to Run from ZIP:
az functionapp config appsettings set --name $FUNCTION_APP --resource-group $RESOURCE_GROUP --settings WEBSITE_RUN_FROM_PACKAGE="https://${STORAGE_ACCOUNT}.blob.core.windows.net/functiondeploy/functionapp.zip?$SAS_TOKEN"
Restart the Function App:
az functionapp restart --name $FUNCTION_APP --resource-group $RESOURCE_GROUP
Check the Azure Portal
- Go to Azure Portal → Your Function App → Functions
- Your HTTP-triggered function (e.g.,
test_http
) should now appear
- You can invoke it using the Function URL





For more details, please refer the following documentation:Deploy from package, Python v2 model intro.
Hope it helps!
As your issue has been resolved, kindly accept and upvote the answer. This will help other community members who may encounter a similar issue.

Please click "Accept the answer" and mark Yes
, as this can help other community members.