我目前在我的nodejs应用中探索Azure Blob Storage
,并想知道如何利用Container
中的azure blob
在当前的应用设置中,我有像
这样的子部分每个都有上传files
的功能,最终会转到azure blob
我应该为每个部分创建container
,是否有任何优势?
什么是首选方法?
https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/
容器:容器提供一组blob的分组。所有 blob必须在容器中。帐户可以包含无限制 容器数量。容器可以存储不限数量的容器 斑点。请注意,容器名称必须小写。
答案 0 :(得分:5)
这实际上取决于您的应用程序设计;没有“正确的方法”。根据您上面发布的内容,为配置文件和社区创建容器似乎是有意义的。
然后,您可以为社区下的子部分创建虚拟目录。虚拟目录实际上是blob名称的一部分,但您可以使用它来分层遍历blob,就像文件系统一样。
有关如何列出blob的示例,请参阅Azure Blob Storage Samples for Node.js。
以下是有关虚拟目录的一些其他信息,来自Azure存储文档:
Blob名称可以通过包含分隔符字符(例如正斜杠(/))来模拟目录结构。虚拟目录是客户端库提供的抽象,以简化导航该目录结构。容器和blob是Azure资源,具有自己的端点,但虚拟目录是blob名称的一部分。
例如,假设您有一个绝对URI为:
的blobhttps://storagesample.blob.core.windows.net/sample-container/level1/level2/level3/blob.txt
blob名称是:
1级/ 2级别/级别3 / blob.txt
作为blob名称一部分的虚拟目录是:
1级/ 2级别/级别3 /
1级/ 2级别/
1级/
答案 1 :(得分:2)
分隔多个容器的主要优点是容器提供了很好的blob逻辑分组和安全访问边界。由于Azure Blob中的分区处于blob级别,因此在容器下访问blob的可伸缩性和并行性方面应该看不出太多差异。请参阅此主题并进行类似的讨论。 Is it better to have many small Azure storage blob containers (each with some blobs) or one really large container with tons of blobs?