当使用Azure的块斑点PUT失败HTTPS [英] Azure Block Blob PUT fails when using HTTPS

查看:141
本文介绍了当使用Azure的块斑点PUT失败HTTPS的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我写了上传(使用REST API PUT操作)阻止斑点到我的Azure存储帐户Cygwin的应用程序,它使用HTTP时,非常适用于不同大小的斑点。但是,使用SSL(即PUT使用HTTPS)失败斑点超过5.5MB更大。斑点小于5.5MB上传正确。任何更大,我发现TCP会话(由Wireshark的可见)的报告,一旦上述字节数被传是去0萎缩窗口大小。故障是可重复和一致的。作为一个参考点,PUT行动,打击我的谷歌/ AWS / HP云存储账户使用HTTPS对各种对象的尺寸,这表明这个问题不是我的客户端,但具体到MSAZURE存储服务器上的HTTPS实现时正常工作。

I have written a Cygwin app that uploads (using the REST API PUT operation) Block Blobs to my Azure storage account, and it works well for different size blobs when using HTTP. However, use of SSL (i.e. PUT using HTTPS) fails for Blobs greater than 5.5MB. Blobs less than 5.5MB upload correctly. Anything greater and I find that the TCP session (as seen by Wireshark) reports a dwindling window size that goes to 0 once the aforementioned number of bytes are transferred. The failure is repeatable and consistent. As a point of reference, PUT operations against my Google/AWS/HP cloud storage accounts work fine when using HTTPS for various object sizes, which suggests the problem is not my client but specific to the HTTPS implementation on the MSAZURE storage servers.

如果我上传了5.5MB的blob作为后跟一个PUT阻止列表4MB和1.5MB的两个单独的上传,操作只要两个上传单独使用HTTPS会话成功。请注意在不同的重点。如果我试图保持跨两个上传HTTPS会话相同的操作失败。

If I upload the 5.5MB blob as two separate uploads of 4MB and 1.5MB followed by a PUT Block List, the operation succeeds as long as the two uploads used separate HTTPS sessions. Notice the emphasis on separate. That same operation fails if I attempt to maintain an HTTPS session across both uploads.

为什么我可能会看到与MS Azure的这种奇怪的行为任何想法?与HTTPS相同PUT操作工作正常使用AWS /谷歌/ HP云存储服务器。

Any ideas on why I might be seeing this odd behavior with MS Azure? Same PUT operation with HTTPS works ok with AWS/Google/HP cloud storage servers.

推荐答案

感谢您报告这一点,我们的不便表示歉意。我们已成功地重现该问题,并已提交了错误。不幸的是,我们不能分担此时的修复时间表,但是当修复已部署,我们将这个论坛作出回应。与此同时,一个合理的解决方法(和推荐的最佳做法)是打破大量上载成小块(使用PUT块和Put阻止列表的API),从而使客户端并行上传

Thank you for reporting this and we apologize for the inconvenience. We have managed to recreate the issue and have filed a bug. Unfortunately we cannot share a timeline for the fix at this time, but we will respond to this forum when the fix has been deployed. In the meantime, a plausible workaround (and a recommended best practice) is to break large uploads into smaller chunks (using the Put Block and Put Block List APIs), thus enabling the client to parallelize the upload.

这篇关于当使用Azure的块斑点PUT失败HTTPS的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆