Azure Blob -创建子文件夹或创建多个容器

u3r8eeie  于 2023-01-05  发布在  其他
关注(0)|答案(1)|浏览(120)

我正在将存储在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

其他国家也是如此。
我还认为,如果有一天我不得不将这些文件移动到其他地方,如果每个国家都有一个容器,而不是每个人都有一个容器,移动起来会更容易。
有没有人面临过这种设计"问题"的思考?
非常感谢!

yjghlzjz

yjghlzjz1#

由于您使用的是Blob存储,因此可以使用任一选项,但为每个国家/地区使用单独容器的好处是可以隔离访问。如果仅使用1个容器,则无法隔离对容器内文件的访问(除非启用分层命名空间)。

  • 如果您现在或在不久的将来不需要访问隔离,那么就使用一个容器,因为它提供了文件移动和管理的便利。
  • 如果您需要隔离对blob中每个国家数据的访问,那么我建议您使用每个国家的单独容器。

如果启用分层命名空间,则可以使用单个容器,并且仍然可以灵活地控制对每个(物理)文件夹的访问。
正如@silent提到的,使用单个或多个容器在性能上没有区别。

相关问题