我遇到的情况是,用户在应用程序中附加文件,然后这些文件将保留到 Azure Blob 存储,很可能会出现重复项,我想针对重复项制定一个解决方案避免了 Blob 。
我的第一个想法是将 blob 命名为 filename_hash,但这只会捕获重复项的子集,然后 filesize_hash 是下一个想法。
在执行此操作时,我似乎失去了 Blob 存储的一些灵 active 来表示文件层次结构中的位置,请参阅:Windows Azure: How to create sub directory in a blob container
所以我想看看是否有一种方法可以创建一个引用 blob 数据的 blob,即一些符号链接(symbolic link),但找不到我想要的东西。
我是否遗漏了某些内容,或者我应该使用filesize_hash方法并使用替代方法存储我的层次结构。
最佳答案
不,没有符号链接(symbolic link)(来源:http://social.msdn.microsoft.com/Forums/vi-VN/windowsazuredata/thread/6e5fa93a-0d09-44a8-82cf-a3403a695922)。
一个好的解决方案取决于文件的预期大小和重复的数量。如果不会有很多重复项,或者文件很小,那么使用它实际上可能会更快、更便宜 - 与开发成本相比,每月每 GB 0.15 美元并不是一个很大的代价! (这就是我们正在采取的方法。)
如果值得删除重复项,我会使用表存储在文件名和数据的实际位置之间创建某种重定向。然后,我会执行客户端重定向来重定向客户端浏览器以下载正确的版本。
如果您这样做,您将需要保留文件名(因为这对用户来说是可见的),但您可以根据需要调用“文件夹”位置。
关于azure - 使用 Azure 存储时是否可以对 Blob 数据进行符号链接(symbolic link)以避免重复的 Blob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7641316/