我们可以直接通过VM对存储在Azure存储中的数据进行操作,而不需要在VM上下载



我有一些数据以压缩形式存储在Azure存储上,我想解压缩它,所以我可以解压缩它而不需要在虚拟机上下载它吗?我的意思是说,这个存储设备可以像我的二级存储设备一样工作。询问是否需要更多细节

答案总是"视情况而定"。

如果可能-是。你真的想做这件事吗?——我不确定。

以Blob Storage为例,因为我假设您将数据存储在Blob Storage中。有两种不同类型的Blobs - Block Blobs和Page Blobs。两者都可以通过部分更新其内容来更新。

当有一个块blob时,你可以使用存储API上的Put block操作来修改它。当您有一个页面blob时,您可以在blob服务API上使用Put page操作。当然,在修改内容之后,你将不得不向Blob Service API发送一个最终请求,以"提交"更改并通知服务有关新内容(为blockblob放置块列表,并为页面Blob实现健壮的重试逻辑)。

虽然从技术上讲,可以在不下载整个文件的情况下操作blob上的内容,但它带来的复杂性确实比它解决的要多。例如,一旦您修改了文件的部分内容,那么所有的校验和现在都被破坏了。此外,如果它是一个压缩文件,您还必须修改文件的头。最后,如果你知道你保存的文件的确切结构,知道你想修改的确切部分,你就能做到。但我认为这只是过度工程。

最新更新