我有一些存储在Azure存储上的数据,它是压缩形式的,我想解压缩它,所以我可以解压缩它,而无需在虚拟机上下载它。我的意思是说存储可以像我的辅助存储设备一样工作。询问您是否需要更多细节。
答案 0 :(得分:1)
答案总是"取决于"。
如果有可能 - 是的。你真的想这么做 - 我不确定。
获取Blob存储,因为我假设您将数据存储在blob存储中。有两种不同类型的Blob - Block Blobs and Page Blobs。可以通过部分更新其内容来更新。
拥有块blob时,您可以使用Put Block operation on the Storage API对其进行修改。当您有页面blob时,可以使用Put Page operation on the Blob Service API。 当然,在修改内容之后,您必须向Blob服务API发送最终请求以提交"提交"更改并通知服务有关新内容的内容(Put Block List用于BlockBlobs,并为Page blobs for Page blobs实现强大的重试逻辑。)
虽然从技术上讲,可以在不下载整个文件的情况下操作blob上的内容,但它确实带来了比它解决的更复杂的问题。例如 - 一旦修改了文件的部分内容,所有校验和现在都被破坏了。此外 - 如果它是压缩文件,您还必须修改文件的标头。最后 - 如果您知道自己保存的内容的确切结构,并且知道要修改哪些部分 - 您可以这样做。但我认为这只是过度工程。