Не развертываются приложения с несколькими функциями

#azure-functions

#azure-функции

Вопрос:

В моем решении есть три функциональных приложения, как показано ниже:

изображение

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

изображение

и я вижу, что эти функциональные приложения развертываются:

изображение

При нажатии на функциональное приложение я вижу функцию в одном из функциональных приложений, но не в двух других.

изображение

Чего мне не хватает? Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Спасибо!

Обновить:

Этапы сборки:

 # Function xxx
    - task: DotNetCoreCLI@2
      displayName: 'dotnet publish xxx Function'
      inputs:
        command: publish
        arguments: '--configuration Release --output publish_output'
        projects: 'Service/WebApi/Service/Hosts.xxxFunction/*.csproj'
        publishWebProjects: false
        modifyOutputPath: false
        zipAfterPublish: false

    - task: ArchiveFiles@2
      displayName: 'archive xxx Function files'
      inputs:
        rootFolderOrFile: "$(System.DefaultWorkingDirectory)/publish_output"
        includeRootFolder: false
        archiveFile: "$(System.DefaultWorkingDirectory)/Hosts.xxxFunction.zip"

    - task: PublishBuildArtifacts@1
      displayName: 'publish xxx Function files'
      inputs:
        PathtoPublish: '$(System.DefaultWorkingDirectory)/Hosts.xxxFunction.zip'
        ArtifactName: '$(Build.BuildNumber)'
# End xxx Function
  

Этапы выпуска:

 - task: AzureFunctionApp@1
  displayName: 'Deploy ${{ parameters.name }} function app'  
  inputs:
    appType: 'functionapp'
    azureSubscription: ${{parameters.serviceConnection}}
    appName: '${{ parameters.solutionAbbreviation }}-compute-fa-${{ parameters.environmentAbbreviation }}-${{ parameters.name }}'
    Package: '$(Pipeline.Workspace)/$(Build.BuildNumber)/Hosts.${{ parameters.name }}.zip'
    deploymentMethod: 'auto'
    resourceGroupName: '${{ parameters.solutionAbbreviation }}-${{ parameters.environmentAbbreviation }}'
  

Комментарии:

1. Пожалуйста, опубликуйте информацию о своем конвейере выпуска.

2. Пожалуйста, смотрите обновленный вопрос.

3. теперь вы можете проверить 2 вещи. Сначала вы можете проверить, действительно ли файлы попали туда с помощью Kudu (перейдите к funcname.scm.azurewebsites.net ). Другая возможная проблема может заключаться в том, что ваша функция не настроена должным образом, и хост неправильно запускается в облаке. Вы можете проверить в интерфейсе диагностики / журналов

Ответ №1:

Развертывание функции Azure состоит из двух шагов:

1. Создайте функциональное приложение Azure в Azure.

После этого шага вы сможете увидеть приложение с функциями в Azure, но это не означает, что вы должны развернуть функцию. Это просто означает, что контейнер приложения с соответствующей функцией подготовлен.

2. Загрузите содержимое функционального приложения в контейнер функционального приложения.

Вы можете использовать какой-либо метод развертывания, например zip deploy, для развертывания вашего функционального приложения:

 az functionapp deployment source config-zip -g yourresourcegroupname -n yourfunctionappnameonazure --src <zip_file_path>
  

Это документ:

https://learn.microsoft.com/en-us/azure/azure-functions/deployment-zip-push#cli

Еще одна вещь, на которую следует обратить внимание, иногда Azure portal не показывает функцию, но это не означает, что функция не была развернута. Вы можете перейти к https://yourfunctionappnameonazure.scm.azurewebsites.net/ , затем перейти к D:homesitewwwroot> .(Это физический каталог приложения Azure function, если в этом месте нет файлов функций, это означает, что развертывание не удалось. Иногда портал Azure не показывает ничего, кроме уже развернутой функции.)