我正在将存储在SQL Server中的一些文件迁移到Azure存储(Blob),这是一个遗留的. NET Framework Web应用程序。
"问题"是:我有多个国家使用这个webapp(每个国家使用自己的数据库示例),例如:美国、加拿大和墨西哥。
在Azure Blob中存储这些文件的好方法是什么?我在考虑创建一个容器,例如orders-container,并在其中按国家创建一个文件夹结构,如下所示:
orders-container > USA > report.pdf
orders-container > CAN > report1.pdf
orders-container > MEX > report2.pdf
然而,当我考虑到性能和管理时,我有点质疑这种方法,我不知道这样创建是否更好,或者我是否应该为每个国家创建一个容器,例如:
orders-container-USA > report.pdf
其他国家也是如此。
我还认为,如果有一天我不得不将这些文件移动到其他地方,如果每个国家都有一个容器,而不是每个人都有一个容器,移动起来会更容易。
有没有人面临过这种设计"问题"的思考?
非常感谢!
1条答案
按热度按时间yjghlzjz1#
由于您使用的是Blob存储,因此可以使用任一选项,但为每个国家/地区使用单独容器的好处是可以隔离访问。如果仅使用1个容器,则无法隔离对容器内文件的访问(除非启用分层命名空间)。
如果启用分层命名空间,则可以使用单个容器,并且仍然可以灵活地控制对每个(物理)文件夹的访问。
正如@silent提到的,使用单个或多个容器在性能上没有区别。