Отправка файлов в веб-приложение Azure с помощью Kudu Rest API - ошибка 409

Я пытаюсь загрузить некоторые файлы в свое веб-приложение с помощью Kudu по следующему URL-адресу: 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: {"Сообщение": "Ресурс представляет собой каталог, который не может быть обновлен."}

Я попытался получить доступ к этому URL-адресу с помощью надстройки ARC chrome, и это возвращает ту же ошибку «Сообщение о конфликте 409»: «Ресурс представляет собой каталог, который не может быть обновлен».

Кажется, все работает нормально

Заранее спасибо!


person Stanhope4    schedule 04.10.2017    source источник


Ответы (1)


Проблема в том, что вы выполняете PUT для каталога, который имеет семантику создания каталога, когда вы пытаетесь загрузить файл.

Вам нужно изменить https://$websitename.scm.azurewebsites.net/api/vfs/site/wwwroot/ на https://$websitename.scm.azurewebsites.net/api/vfs/site/wwwroot/MyFile.txt.

Обратите внимание, что API vfs может загружать только один файл за раз. Если вы хотите загрузить несколько файлов, вы можете использовать zip API. См. https://github.com/projectkudu/kudu/wiki/REST-API#zip, чтобы узнать подробности.

person David Ebbo    schedule 04.10.2017