2016-04-26 68 views
0

這就是我上傳到蔚藍的頁面Blob存儲如何正確UploadAsync到Azure頁面blob?

var memoryStream = new MemoryStream(range, offsetToTransfer, sizeToTransfer, false, false); 
pageBlob.WritePages(memoryStream, vhdOffset + offsetToTransfer, null); 
Console.WriteLine("Range ~" + Megabytes(offsetToTransfer + vhdOffset) + " + " + PrintSize(sizeToTransfer));` 

Azure的建議我等

如何設置第二個參數使用此library上傳(它的偏移量)vhdOffset + offsetToTransferUploadAsync?我的意思是我怎麼能指定一個position我想寫的地方?

var memoryStream = new MemoryStream(range, offsetToTransfer, sizeToTransfer, false, false); 
TransferManager.UploadAsync(memoryStream, pageBlob); 
+1

DataMovement Library用於將整個流/文件上傳到頁面blob,它不支持寫入指定的偏移量。 –

回答

0

如果你希望寫一個頁面有偏移,您可以使用CloudPageBlob.WritePagesAsync API至極記錄在這裏。 https://msdn.microsoft.com/en-us/library/microsoft.windowsazure.storage.blob.cloudpageblob.writepagesasync(v=azure.10).aspx

這裏有一個基於CloudPageBlob.WritePages API的完整示例。

https://blogs.msdn.microsoft.com/windowsazurestorage/2010/04/10/using-windows-azure-page-blobs-and-how-to-efficiently-upload-and-download-page-blobs/

下面的代碼:

MemoryStream memoryStream = new MemoryStream(range, 
         offsetToTransfer, sizeToTransfer, false, false); 
    pageBlob.WritePages(memoryStream, vhdOffset + offsetToTransfer); 

允許你寫一個順序組頁面高達4MBs,並寫入到必須啓動一個512字節邊界上偏移(startingOffset%512 == 0),和512的邊界上結束 - 1

希望這有助於

最好的問候

Stéphane

相關問題