【问题标题】:Azure Blob Storage File PathsAzure Blob 存储文件路径
【发布时间】:2018-02-06 07:30:48
【问题描述】:
我将使用 Azure 存储 REST API 创建和检索用户使用我的 iOS 应用上传的图像。我想要一个类似的目录结构
container_name/user_Id/group_Id/item_Id/image.jpg
每个用户可以有多个group_Id,每个item可以有多个图片。
这甚至可能吗?如果可以,每个用户应该拥有自己的容器还是将它们全部放在一个容器下?
【问题讨论】:
标签:
ios
swift
azure-storage
【解决方案1】:
请注意,Azure Blob 存储在服务器端并没有真正的目录结构。相反,结构只是两层:容器、blob。
但是,有一个解决方法:您可以使用“虚拟目录”前缀命名您的 blob,就像您的示例中的 container_name/user_Id/group_Id/item_Id 一样,然后在您的容器下列出带有指定前缀的 blob。
【解决方案2】:
container_name/user_Id/group_Id/item_Id/image.jpg
正如@Zhaoxing Lu - Microsoft 所提到的,通过在 blob 名称中包含路径信息,您可以创建一个虚拟目录结构,您可以像传统文件系统一样组织和遍历。目录结构仅是虚拟的——Blob 存储中唯一可用的资源是容器和 Blob。但是,存储客户端库提供了一个 CloudBlobDirectory 对象来引用虚拟目录并简化处理以这种方式组织的 blob 的过程
例如,考虑以下一组名为 photos 的容器中的块 blob:
photo1.jpg
2010/architecture/description.txt
2010/architecture/photo3.jpg
2010/architecture/photo4.jpg
2011/architecture/photo5.jpg
2011/architecture/photo6.jpg
2011/architecture/description.txt
2011/photo7.jpg
完整的文档可以在here找到