Azure Blob 存储 是 Microsoft 的云对象存储解决方案。Blob 存储针对存储海量非结构化数据进行了优化。非结构化数据是指不遵循特定数据模型或定义的数据,例如文本或二进制数据。
Azure Blob 存储 设计用于:
- 直接向浏览器提供图像或文档。
- 存储用于分布式访问的文件。
- 流式传输视频和音频。
- 写入日志文件。
- 存储用于备份和恢复、灾难恢复和归档的数据。
- 存储用于本地或 Azure 托管服务分析的数据。
Azure Blob 存储 中的容器加载文档对象。有关文档加载器的更详细文档,请参阅 Azure Blob 存储加载器 API 参考。
建议使用此新加载器,而非之前来自
langchain_community 的 AzureBlobStorageFileLoader 和 AzureBlobStorageContainerLoader。有关迁移到新加载器的详细说明,请参阅 迁移指南。设置
从容器加载
AzureBlobStorageLoader 从 Azure Blob 存储中的给定容器加载所有 Blob,并需要一个账户 URL 和容器名称。加载器返回包含 Blob 内容(默认为 UTF-8 编码)和元数据(包括 Blob URL)的 Document 对象,如下例所示。
无需显式配置凭据,因为它使用 DefaultAzureCredential,该凭据会根据您当前的环境自动检索 Microsoft Entra ID 令牌。
通过 Blob 名称从容器加载
您可以从 Blob 名称列表加载文档,这仅使用提供的 Blob,而不是调用 API 来列出 Blob。覆盖默认凭据
默认情况下,文档加载器使用DefaultAzureCredential。以下示例展示了如何覆盖此设置:
自定义 Blob 内容解析
目前,解析每个 Blob 时的默认行为是将内容作为单个Document 对象返回,使用 UTF-8 编码,无论文件类型如何。对于需要特定解析的文件类型(例如 PDF、CSV 等),或者当您想控制文档内容格式时,可以提供 loader_factory 参数,该参数接受一个已存在的文档加载器(例如 PyPDFLoader、CSVLoader 等)或一个自定义加载器。
这通过将 Blob 内容下载到临时文件来实现。然后,loader_factory 会使用指定的文档加载器来加载/解析该文件,并返回 Document 对象。
下面展示了如何使用 PyPDFLoader 覆盖用于将 Blob 解析为 PDF 的默认加载器:
将这些文档连接到 Claude、VSCode 等,通过 MCP 获取实时答案。

