使用Kudu Rest API将文件上载到Azure Web App - 409错误

时间:2017-10-04 10:50:26

标签: powershell azure kudu

我正在尝试使用Kudu将一些文件上传到我的webapp到以下网址: https://($ websitename.scm.azurewebsites.net / api / vfs / site / wwwroot / using powershell

我已获得发布用户名和密码,可以验证

但是,当我尝试上传文件时,我使用以下代码获得以下错误:

function Upload-FileToWebApp($kuduHeader,$KuduURL,$files)
{   
$kuduURL = https://$websitename.scm.azurewebsites.net/api/vfs/site/wwwroot/ 

 $result = Invoke-RestMethod -Uri $kuduUrl `
                    -Headers @{Authorization=$kuduheader;"If-Match"="*"} `
                    -Method PUT `
                    -InFile $files `
                    -ContentType "multipart/form-data"

Invoke-RestMethod:{“Message”:“资源代表一个无法更新的目录。”}

我尝试使用ARC chrome addin访问此URL,这会带来同样的错误'409 conflict Message“:”资源代表一个无法更新的目录。“

似乎工作得很好

提前致谢!

1 个答案:

答案 0 :(得分:0)

问题是你正在目录上做一个PUT,它具有创建目录的语义,当你尝试做的是上传文件时。

您需要将https://$websitename.scm.azurewebsites.net/api/vfs/site/wwwroot/更改为https://$websitename.scm.azurewebsites.net/api/vfs/site/wwwroot/MyFile.txt

请注意,vfs API一次只能上传一个文件。如果要上传多个,可以使用zip API。有关详细信息,请参阅https://github.com/projectkudu/kudu/wiki/REST-API#zip