高级计划中的 Python Azure 函数:函数的发布/部署失败……
Posted
技术标签:
【中文标题】高级计划中的 Python Azure 函数:函数的发布/部署失败……【英文标题】:Python Azure Function on Premium Plan: Publishing / deployment of functions fails… 【发布时间】:2020-07-24 08:32:10 【问题描述】:在使用在 Linux 和高级计划上运行的 Python Azure Functions 时,我遇到了多个有关函数发布/部署的问题。以下是在失败或成功但功能(在 Azure 上)不反映应该发布/部署的内容的情况下可以执行的选项。
以下选项也可能适用于非 Linux/非 Python/非高级计划功能(应用程序)。
【问题讨论】:
【参考方案1】:在发布后等待几分钟,以便函数(应用)反映更新
重启函数应用
确保在“配置”下设置了以下 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 Function 任务 (https://github.com/Microsoft/azure-pipelines-tasks/blob/master/Tasks/AzureFunctionAppV1/README.md) 发布函数,分别设置 AppSettings。
此任务也适用于 Python,即使它没有在“运行时堆栈”下明确提供选项(只需将其留空)。确保发布正确的文件(如果您通过 ZipDeploy 发布,zip 文件夹的根目录应包含 host.json
)
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
删除 Function App 资源并重新部署它
【讨论】:
以上是关于高级计划中的 Python Azure 函数:函数的发布/部署失败……的主要内容,如果未能解决你的问题,请参考以下文章