使用在Linux和Premium Plan上运行的Python Azure Functions时,我遇到了有关函数发布/部署的多个问题。以下是在失败或成功但如果功能(在Azure上)不能反映应该发布/部署的内容的情况下可以采取的措施。
以下选项也可能适用于非Linux /非Python /非高级计划功能(应用程序)。
答案 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。
确保发布正确的文件(如果通过ZipDeploy发布,则zip文件夹的根目录应包含host.json
)
wwwroot
文件夹cd /home/site/wwwroot
dir
检查部署日志
如果到目前为止的步骤仍然无效,则可以帮助通过门户网站(开发工具-> 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