将 Vhd 分块上传到 Azure 页面 blob
Upload Vhd to an Azure Page blob in chunks
我正在尝试将 Vhd(大小至少 30GB)上传到 mvc Web 应用程序中 azure 存储中的页面 blob。由于文件的大小,我无法上传这个大文件作为一个整体,因为浏览器不允许发送这个大请求。因此,唯一的选择是分块上传文件(即 4mb)。在客户端大小上,我能够进行分块,并且我通过 ajax 请求(在循环中)将块发送到我的服务器端控制器。但是使用 .net sdk for azure 我没有找到将块上传到页面 blob 的方法。
P.S 有一种方法可以使用 putblock() 和 putblocklist() 方法以块 blob 的形式上传文件,我可以通过这种方式实现上传,但我需要创建一个 VM 映像从上传的 vhd 中提取,为此目的,它需要是一个页面 blob。
因此,我欢迎任何指导,向我展示使用 azure .net sdk 在页面 Blob 中分块上传 vhd 的方法。
你可以使用 CloudPageBlob.WritePages
method to upload the chunks of data. Please see this blog post from Azure Storage Team for an example of using this method: 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.
您可以尝试 AzCopy tool 而无需编写任何代码。
AzCopy /Source:C:\myfolder
/Dest:https://myaccount.blob.core.windows.net/mycontainer
/DestKey:mykey /Pattern:abc.vhd /BlobType:Page
我正在尝试将 Vhd(大小至少 30GB)上传到 mvc Web 应用程序中 azure 存储中的页面 blob。由于文件的大小,我无法上传这个大文件作为一个整体,因为浏览器不允许发送这个大请求。因此,唯一的选择是分块上传文件(即 4mb)。在客户端大小上,我能够进行分块,并且我通过 ajax 请求(在循环中)将块发送到我的服务器端控制器。但是使用 .net sdk for azure 我没有找到将块上传到页面 blob 的方法。
P.S 有一种方法可以使用 putblock() 和 putblocklist() 方法以块 blob 的形式上传文件,我可以通过这种方式实现上传,但我需要创建一个 VM 映像从上传的 vhd 中提取,为此目的,它需要是一个页面 blob。 因此,我欢迎任何指导,向我展示使用 azure .net sdk 在页面 Blob 中分块上传 vhd 的方法。
你可以使用 CloudPageBlob.WritePages
method to upload the chunks of data. Please see this blog post from Azure Storage Team for an example of using this method: 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.
您可以尝试 AzCopy tool 而无需编写任何代码。
AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:mykey /Pattern:abc.vhd /BlobType:Page