You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过PowerShell使用FTP部署Azure Python Web App并触发部署流程?

解决Azure Web App FTP上传后未触发Python部署的问题

嗨,我明白你的困扰——FTP上传确实不会像Git部署那样自动触发Web App的部署流程,毕竟FTP只是单纯的文件传输,不会触发Azure的部署钩子。不过别担心,有几个办法可以手动触发这个部署过程,让你的Python依赖包正常安装:

方法1:用Azure CLI的az webapp deploy替代FTP上传

这个方法其实可以一步到位,既完成代码上传又触发部署,比FTP更省心。你只需要在PowerShell脚本里加入这段命令(前提是已经安装并登录了Azure CLI):

# 如果还没登录Azure CLI,先执行这行
# az login

# 直接从本地文件夹部署到Web App,自动触发部署流程
az webapp deploy --resource-group $resourceGroupName --name $webappName --src-path $appDirectory --type zip

这个命令会把你的本地项目文件夹打包成ZIP包上传,然后自动执行部署脚本——包括读取requirements.txt并安装所有依赖,和Git部署的效果完全一样。

方法2:上传后调用Kudu API触发部署

如果你还是想保留FTP上传的步骤,那可以在文件上传完成后,调用Kudu的API来手动触发部署。Kudu是Azure Web App的后台管理服务,专门处理这类部署相关的操作。

在你的PowerShell脚本最后,添加这段代码就行:

# 构建Kudu部署API的地址
$kuduApiUrl = "https://$webappName.scm.azurewebsites.net/api/deploy"

# 用之前获取的FTP凭据生成认证信息
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username, $password)))

# 发送POST请求触发部署
Invoke-RestMethod -Uri $kuduApiUrl -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method POST

这个API调用会让Web App立刻执行部署流程,和你看到的Git部署日志里的步骤一样,会处理Python依赖的安装。

小提示

别忘了确保你的requirements.txt文件放在网站的根目录(也就是FTP上传后的/site/wwwroot目录下),这样部署脚本才能找到它并正确安装依赖包。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:22:44