什么是 blob?
Blob 是“云端文件”。 应用使用 Blob 的方式与使用磁盘上的文件大致相同。 应用在 Blob 中读取和写入数据。 但与本地文件不同的是,可以通过 Internet 连接从任意位置访问 Blob。
Azure Blob 存储是非结构化的。 它可以容纳的数据类型没有限制。 例如,blob 可以保存 PDF 文档、JPG 图像、JSON 文件和视频内容等等。
Blob 并不限于常见的文件格式。 Blob 可能包含从科学仪器流式传输的千兆字节二进制数据、另一个应用程序的加密消息,或者正在开发的应用的自定义格式的数据。
Blob 不适合需要频繁查询的结构化数据。 它们的延迟比内存和本地磁盘更高。 它们没有索引功能(这种功能在运行查询时可以提高数据库的效率)。 但是,Blob 经常与数据库一起用于存储不可查询的数据。 例如,具有用户个人资料数据库的应用可以将个人资料图片存储在 blob 中。 数据库中的每条用户记录都提供包含用户图片的 Blob 的名称或 URL。
Blob 用于在各种应用和体系结构中以多种方式存储数据:
- 需要传输大量数据的应用,使用的消息传递系统仅支持发送少量消息。 这些应用可将数据存储在 Blob 中,并在消息中发送 Blob URL。
- Blob 存储可以像文件系统一样用于存储和共享文档以及其他个人数据。
- 像图像这样的静态 Web 资产可以存储在 blob 中,并且可供公众下载,就像它们是 Web 服务器上的文件一样。
- 许多 Azure 组件在后台使用 blob。 例如,Azure Cloud Shell 将文件和配置存储在 blob 中,Azure 虚拟机使用 blob 进行硬盘存储。
某些应用会在运行时不断创建、更新和删除 Blob。 其他应用则仅使用一小部分 Blob 并且很少更改它们。
存储帐户、容器、标记和元数据
在 Blob 存储中,每个 blob 都位于一个 blob 容器内。 一个容器可以存储无限数量的 blob,而一个存储帐户可以存储无限数量的容器。 容器的结构是扁平的。 它们只能存储 Blob,而不能存储其他容器。
Blob 和容器支持“名称-值”字符串对形式的标记和元数据。 应用可以将标记和元数据用于任何内容,例如要显示的 Blob 内容的用户可读说明,或者由应用用来确定如何处理数据的字符串。
提示
Blob 存储不提供任何按元数据对 blob 进行搜索或排序的机制。 可以使用 Blob 索引标记来搜索和排序 Blob。 有关使用 Azure 认知搜索的信息,请参阅本模块末尾的“延伸阅读”部分。
Blob 存储 API 和客户端库
Blob 存储 API 基于 REST。 许多流行语言的客户端库都支持它。 该 API 可让你编写用于创建和删除 Blob 与容器、上传和下载 Blob 数据以及列出容器中 Blob 的应用。