如果您知道Block Id,是否可以从Azure Block Blob下载特定块?
答案 0 :(得分:0)
您可以利用Microsoft Azure Storage SDK快速开始使用Azure Blob存储。 Azure Storage SDK是Blob Service REST API的包装器。在关于Blob Service REST API的官方教程中,我们无法通过Block Id找到有关下载特定块的任何信息。此外,您可以使用Get Blob通过指定要从blob下载的数据的偏移量和长度来下载指定范围内的blob字节。
答案 1 :(得分:0)
是的,您绝对可以,这是一个如何下载第一个块的示例:
var storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=...;AccountKey=...;EndpointSuffix=core.windows.net");
CloudBlobClient serviceClient = storageAccount.CreateCloudBlobClient();
var container = serviceClient.GetContainerReference("containerName");
var blockBlob = container.GetBlockBlobReference("blobName");
var blocklist = await blockBlob.DownloadBlockListAsync();
var firstBlock = blocklist.First();
var memStream = new MemoryStream();
await blockBlob.DownloadRangeToStreamAsync(memStream, 0, firstBlock.Length);
string contents;
using (var streamReader = new StreamReader(memStream))
{
contents = await streamReader.ReadToEndAsync();
}
您将需要nuget中的几个软件包:
Microsoft.WindowsAzure.Storage
Microsoft.WindowsAzure.Storage.Blob