#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 не показывает ничего, кроме уже развернутой функции.)