问题描述
我正在使用.NET的Azure存储文件共享客户端库,以便将文件保存在云中,读取它们,等等。我有一个保存在存储器中的文件,应该在每次执行代码中的特定操作后对其进行更新。
我现在的操作方式是使用
从存储中下载文件ShareFileDownloadInfo download = file.Download();
问题在于文件可以经常更新,这意味着文件的大量下载和上载会增加大小。
是否有更好的方法在Azure存储上编辑文件?也许有一些方法可以直接在存储中编辑文件,而无需在编辑之前先下载文件?
解决方法
下载和上传文件是使用当前处理数据的方式进行编辑的正确方法。如果您发现自己经常这样做,可以使用一些策略来减少流量:
- 如果您是唯一编辑文件的人,则可以在本地缓存该文件的副本,然后将更新上传到该副本,而不必每次都下载。
- 缓存待处理的更新,仅定期更新文件,而不是每次更改。
- 将单个文件拆分为多个带时间限制的文件,例如每小时一个。这对频率无济于事,但对大小却有帮助。
仅供参考,当将日志推送到存储时,许多Azure服务使用#2和#3的组合来最大程度地减少流量。