使用Kudu REST API上传Zip文件

时间:2016-11-25 22:01:18

标签: rest powershell azure file-upload kudu

我正在尝试上传约。使用以下网址从Powershell将10.5 MB的zip文件压缩到我的Azure网站: “https://mysite.scm.azurewebsites.net/api/zip/site/wwwroot/

以下是示例代码:

Invoke-RestMethod -Uri $uploadUrl -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -UserAgent $userAgent -DisableKeepAlive -Method PUT -InFile $zipPackagePath -ContentType "multipart/form-data";

我的上传速度低于1 Mbps,文件传输完成需要5分钟。 在同一台机器上,当我使用Kudu控制台上传zip文件时(通过将其放到表面上以提取zip文件),它会上传并且按预期提取。

但是,在使用PowerShell时,上传会在〜1 - 2分钟后中止。我得到的错误是:

The underlying connection was closed: An unexpected error occurred on a send.

同样的内部异常是:System.IO.IOException:无法将数据写入传输连接:

An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host

我尝试将请求的超时时间增加到36000秒(10小时),尝试在Web请求和其他此类技巧上禁用Keep-alive。没有成功。我尝试使用Powershell上传一个100 KB的zip文件,它运行顺利,也被Kudu成功提取。

所以我现在的问题是,在相对较慢的连接上使用Kudu Rest API启用更大的文件上传需要做些什么。 这与Kudu方面的请求限制/最大上传大小有关吗?如果是,我在哪里可以增加我的Azure web应用程序的Kudu实例的最大上传大小/请求长度限制。 如果这可能是别的,我会很感激所有的见解。

0 个答案:

没有答案