c# - 我可以从 Azure block Blob 获取特定 block 吗?

标签 c# .net azure blob block

我想从带有 blockId 的 azure block blob 中获取特定 block ,这可能吗? 类似的东西

var blockBlob = new BlockBlobClient(connectionString, containerName, blobName);
var blocklist = await GetBlobBlockList(blobName, cancellationToken);
var firstBlock = blocklist.First();
var memStream = new MemoryStream();
await blockBlob.DownloadStreamingAsync(memStream, firstBlock.Name);

最佳答案

I want to get a specific block from an azure block blob with the blockId, is this even possible?

应该可以这样做,但它不会像您在示例代码中提到的那么简单。

这是您需要执行的操作:

  1. 获取 block 列表。列表中的每个元素都有一个 block ID 和 block 的大小。
  2. 假设您想要获取 block “n”的数据,您要做的就是迭代 0 中的列表。至n - 1 block 并添加每个 block 的大小。
  3. 接下来您需要调用 DownloadRangeToStreamAsync(Stream, Nullable<Int64>, Nullable<Int64>) ,您的offset在哪里value 将是步骤 2 中计算的每个 block 的大小和 length 的总和。 value 将是您要下载的 block 的大小。

关于c# - 我可以从 Azure block Blob 获取特定 block 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75487708/

相关文章:

azure - 访问另一个 Azure Databricks 中的现有 Delta Lake 表数据

azure - 如何撤消 kubectl 删除节点

c# - 如何制作可以接受来自外部站点的请求的 ASP.NET MVC Controller ?

c# - asp.net 4 中的潜在危险请求

.net - VB.NET 中的重写事件

git - 是否可以使用服务主体访问azure上的git存储库?

c# - 为什么 List<T> 在协变接口(interface) MyInterface<out T> 上无效

c# - Wpf 从后面的代码更改可见性

c# - 根据两个属性从列表中检索多个对象

.net - 在MDI子窗体中包含引发的异常