Шаблоны бицепсов Azure для создания функционального приложения, выдающего следующую ошибку: «LinuxFxVersion имеет недопустимое значение»

Однако я пытаюсь использовать шаблоны лазурного бицепса для создания приложения-функции Python, получая следующую ошибку:

«LinuxFxVersion имеет недопустимое значение».

Я использовал версию linuxFx вместо версии Python, поскольку она используется в следующей документации:

https://learn.microsoft.com/en-us/azure/azure-functions/functions-infrastructure-as-code?tabs=bicep#linux-1

Шаблон бицепса функции Azure

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

  }

может 3.9 не поддерживается? попробуйте 3.7, чтобы соответствовать тому, что в документах

Hamid 21.02.2023 10:49

@Hamid пробовал, все еще получая ту же проблему

Muhammad Pathan 22.02.2023 11:26
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
1
2
52
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Найдено решение для запуска вашего приложения в Linux, вы также должны установить свойство «зарезервировано»: для ресурса serverfarms:

resource appService 'Microsoft.Web/serverfarms@2022-03-01' = {
  name: appService 
  location: location
  sku: {
    name: 'EP1'
    tier: 'ElasticPremium'
    family: 'EP'
  }
  kind: 'elastic'
  properties: {
    reserved: true
  }
}
Ответ принят как подходящий

Вам также необходимо включить поле pythonVersion, как показано ниже:

siteConfig: {
pythonVersion: '3.9'
linuxFxVersion: 'python|3.9'
}

После обходного пути я попробовал приведенный ниже скрипт, чтобы создать приложение-функцию Python, как описано в Github. Я изменил скрипт в соответствии с требованиями и смог успешно развернуть:

param  name  string = 'jahnavistoragesceoo'
param  location  string = 'EastUS'
resource  storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = {
name: name
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}
resource  applicationInsights  'Microsoft.Insights/components@2020-02-02' = {
name: 'nameapplication-insights'
location: location
kind: 'web'
properties: {
Application_Type: 'web'
Request_Source: 'rest'
}
}
resource  hostingPlan  'Microsoft.Web/serverfarms@2021-03-01' = {
name: name
location: location
kind: 'Linux'
sku: {
name: 'Y1'
tier: 'Dynamic'
}
properties: {
reserved: true
}
}
resource  functionApp  'Microsoft.Web/sites@2021-03-01' = {
name: name
location: location
kind: 'functionapp'
identity: {
type: 'SystemAssigned'
}
properties: {
serverFarmId: hostingPlan.id
siteConfig: {
pythonVersion: '3.9'
linuxFxVersion: 'python|3.9'
appSettings: [
{
name: 'AzureWebJobsStorage'
value: 'DefaultEndpointsProtocol=https;AccountName=${storageAccount.name};EndpointSuffix=${environment().suffixes.storage};AccountKey=${storageAccount.listKeys().keys[0].value}'
}
{
name: 'SCM_DO_BUILD_DURING_DEPLOYMENT' 
value: 'true'
}
{
name: 'ENABLE_ORYX_BUILD'  
value: 'true'
}
{
name: 'FUNCTIONS_EXTENSION_VERSION'
value: '~4'
}
{
name: 'APPINSIGHTS_INSTRUMENTATIONKEY'
value: applicationInsights.properties.InstrumentationKey
}
{
name: 'FUNCTIONS_WORKER_RUNTIME'
value: 'python'
}
]
}
httpsOnly: true
}
}

Выход:

Развертывание прошло успешно, и на портале было создано приложение функции стека среды выполнения Python:

Другие вопросы по теме