在Azure存储中编辑文件

问题描述

我正在使用.NET的Azure存储文件共享客户端库,以便将文件保存在云中,读取它们,等等。我有一个保存在存储器中的文件,应该在每次执行代码中的特定操作后对其进行更新。

我现在的操作方式是使用

从存储中下载文件
ShareFileDownloadInfo download = file.Download();

然后我在本地编辑文件并将其上传回存储设备。

问题在于文件可以经常更新,这意味着文件的大量下载和上载会增加大小。

是否有更好的方法在Azure存储上编辑文件?也许有一些方法可以直接在存储中编辑文件,而无需在编辑之前先下载文件

解决方法

下载和上传文件是使用当前处理数据的方式进行编辑的正确方法。如果您发现自己经常这样做,可以使用一些策略来减少流量:

  1. 如果您是唯一编辑文件的人,则可以在本地缓存该文件的副本,然后将更新上传到该副本,而不必每次都下载。
  2. 缓存待处理的更新,仅定期更新文件,而不是每次更改。
  3. 将单个文件拆分为多个带时间限制的文件,例如每小时一个。这对频率无济于事,但对大小却有帮助。

仅供参考,当将日志推送到存储时,许多Azure服务使用#2和#3的组合来最大程度地减少流量。