将Vhd上传到块中的Azure页面blob

时间:2015-12-31 13:59:38

标签: azure file-upload azure-storage-blobs

我正在尝试将vhd(调整至少30GB)上传到mvc Web应用程序中的azure存储中的页面blob。由于文件的大小,我不能整体上传这个大文件,因为浏览器不允许发送这个大的请求。因此,唯一的选择是以块(即4mb)上传文件。在客户端大小我能够进行分块,我通过ajax请求(在循环中)将块发送到我的服务器端控制器。但是使用.net sdk为azure我找不到将块上传到页面blob的方法。

PS有一种方法可以使用putblock()和putblocklist()方法在块blob中以块的形式上传文件,我可以通过这种方式实现上传,但我需要从上传的vhd中创建一个VM镜像,为此目的,它需要是一个页面blob。 因此,我欢迎任何指导,向我展示使用azure .net sdk在Page Blob中以块的形式上传vhd的方法。

2 个答案:

答案 0 :(得分:1)

您可以在不编写任何代码的情况下尝试AzCopy tool

  

AzCopy /来源:C:\ myfolder   /目的地:https://myaccount.blob.core.windows.net/mycontainer   / DestKey:mykey /Pattern:abc.vhd / BlobType:Page

答案 1 :(得分:0)

您可以使用CloudPageBlob.WritePages方法上传数据块。有关使用此方法的示例,请参阅Azure存储团队的此博客文章:http://blogs.msdn.com/b/windowsazurestorage/archive/2010/04/11/using-windows-azure-page-blobs-and-how-to-efficiently-upload-and-download-page-blobs.aspx