在Azure Blob读/写上支持多个字节范围

时间:2019-09-10 12:08:29

标签: azure-storage-blobs

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

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

假定重新格式化数据是不可行的,因为访问方式会有所不同。出于各种原因(非常需要优化提前期,存储成本,数据管理以及无法预测所有访问模式,而且无法预测所有访问模式,甚至无法使用已知访问模式),也极不希望以针对每个访问模式变化而优化的多个版本复制数据。 )。

将“ Range” REST API标头扩展到support multiple ranges将是理想的解决方案,但显然这不是我们的控制范围。

1 个答案:

答案 0 :(得分:1)

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

截至目前,此问题尚无很好的解决方法。我看到您提交的用户语音,这是一个很好的反馈,并且已经对此表示支持。希望MS团队可以在将来的版本中实现它。