Am trying to use azure bicep templates to create a python function app however, getting the following error:
" LinuxFxVersion has an invalid value."
I used linuxFx version instead of python version as this is used in the following documentation:
Azure function bicep template
resource appService 'Microsoft.Web/serverfarms@2022-03-01' = {
name: appService
location: location
sku: {
name: 'EP1'
tier: 'ElasticPremium'
family: 'EP'
}
kind: 'elastic'
}
var functionAppName = 'tml-functionapp'
resource functionApp 'Microsoft.Web/sites@2020-06-01' = {
name: 'func-${project}-${role}-${env}'
location: loc
tags: appTagsComb
kind: 'functionapp,linux'
identity: {
type: 'SystemAssigned'
}
properties: {
reserved: true
serverFarmId: appService.id
siteConfig: {
appSettings: [
{
name: 'AzureWebJobsStorage'
value: 'DefaultEndpointsProtocol=https;AccountName=${funcApiStorage.name};EndpointSuffix=${environment().suffixes.storage};AccountKey=${listKeys(funcApiStorage.id, funcApiStorage.apiVersion).keys[0].value}'
}
{
name: 'FUNCTIONS_EXTENSION_VERSION'
value: '~4'
}
{
name: 'FUNCTIONS_WORKER_RUNTIME'
value: 'python'
}
{
name: 'WEBSITE_CONTENTSHARE'
value: functionAppName
}
{
name: 'WEBSITE_CONTENTAZUREFILECONNECTIONSTRING'
value: 'DefaultEndpointsProtocol=https;AccountName=${funcApiStorage.name};EndpointSuffix=${environment().suffixes.storage};AccountKey=${listKeys(funcApiStorage.id, funcApiStorage.apiVersion).keys[0].value}'
}
{
name: 'APPINSIGHTS_INSTRUMENTATIONKEY'
value: funcappInsights.properties.InstrumentationKey
}
]
linuxFxVersion: 'Python|3.9'
ftpsState: 'Disabled'
minTlsVersion: '1.2'
}
httpsOnly: true
}
2
Answers
Found the solution to run your app on Linux, you must also set property "reserved": for the serverfarms resource:
You need to include the
pythonVersion
field also as shown :After a workaround, I tried the below script to create a python function app as detailed in Github. I modified the script accordingly as per the requirements and was able to deploy successfully:
Output:
Deployment succeeded and created a python runtime stack function app in portal: