首页 > 解决方案 > 支持 Azure blob 读/写上的多个字节范围

问题描述

我们需要对非常大的二进制 blob(大约 100 GB)内的数千个离散范围(每个范围大约为几 KB)进行随机读取(然后写入)访问。当前的 API 迫使我们为每个这样的范围提交一个请求。一个负面的方面当然是计费,但主要问题是处理所有这些请求的客户端和网络负载!

是否有任何已知的方法可以避免此类访问模式的大量开销?

假设重新格式化数据是不可行的,因为访问模式各不相同。出于多种原因(优化前置时间、存储成本、数据管理,以及并非所有访问模式都可以预测 - 甚至可能不使用已知的访问模式)。

扩展“范围”REST API 标头以支持多个范围将是理想的解决方案,但显然这不是我们可以控制的。

标签: azureazure-blob-storage

解决方案


不幸的是,没有其他好的方法可以做到这一点。当前的 api(我认为您正在使用get blob api)仅支持单个范围而不是多范围,详细信息在此处

到目前为止,这个问题还没有很好的解决方法。我看到您提交的用户声音,这是一个很好的反馈,并且已经为它投票。希望 MS 团队可以在未来的版本中实现它。


推荐阅读