高级计划中的Python Azure功能:功能发布/部署失败…

时间:2020-07-24 08:32:10

标签: python deployment azure-functions release azure-function-app

使用在Linux和Premium Plan上运行的Python Azure Functions时,我遇到了有关函数发布/部署的多个问题。以下是在失败或成功但如果功能(在Azure上)不能反映应该发布/部署的内容的情况下可以采取的措施。

以下选项也可能适用于非Linux /非Python /非高级计划功能(应用程序)。

1 个答案:

答案 0 :(得分:0)

  • 发布后等待几分钟,以便功能(应用程序)反映更新

  • 重新启动功能应用程序

  • 确保在“配置”下设置以下AppSettings(请根据您的当前上下文进行调整)

[ 
  {
    "name": "AzureWebJobsStorage",
    "value": "<KeyVault reference to storage account connection string>",
    "slotSetting": false
  },
  {
    "name": "ENABLE_ORYX_BUILD",
    "value": "true",
    "slotSetting": false
  },
  {
    "name": "FUNCTIONS_EXTENSION_VERSION",
    "value": "~3",
    "slotSetting": false
  },
  {
    "name": "FUNCTIONS_WORKER_RUNTIME",
    "value": "python",
    "slotSetting": false
  },
  {
    "name": "SCM_DO_BUILD_DURING_DEPLOYMENT",
    "value": "true",
    "slotSetting": false
  },
  {
    "name": "WEBSITE_CONTENTAZUREFILECONNECTIONSTRING",
    "value": "<storage account connection string>",
    "slotSetting": false
  },
  {
    "name": "WEBSITE_CONTENTSHARE",
    "value": "<func app name>",
    "slotSetting": false
  }
]
  • 在使用Azure DevOps Pipelines时,请使用标准的Azure函数任务(https://github.com/Microsoft/azure-pipelines-tasks/blob/master/Tasks/AzureFunctionAppV1/README.md)来发布函数,并分别设置AppSettings。

    • 此任务也适用于Python,即使它未在“运行时堆栈”下明确提供选项(只需将其保留为空)即可。
  • 确保发布正确的文件(如果通过ZipDeploy发布,则zip文件夹的根目录应包含host.json

    • 您可以通过以下方法检查是否发布了正确的文件:通过Azure门户->功能应用程序->开发工具-> SSH检查wwwroot文件夹
cd /home/site/wwwroot
dir
  • 检查部署日志

    • 通过部署中显示为输出的链接
      • 应类似于“ https://func-app-name.net/api/deployments/someid/log”
      • 通过开发工具->高级工具
  • 如果到目前为止的步骤仍然无效,则可以帮助通过门户网站(开发工具-> SSH)SSH到主机并删除

# The deployments folder (and then republish)
cd /home/site
rm -r deployments

# The wwwroot folder (and then republish)
cd /home/site
rm -r wwwroot
  • 删除功能应用程序资源并重新部署