news 2026/6/7 1:30:30

adlfs:给 Azure 存储加一层 Pythonic 文件系统接口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
adlfs:给 Azure 存储加一层 Pythonic 文件系统接口

文章目录

  • adlfs:给 Azure 存储加一层 Pythonic 文件系统接口
    • 1、这项目干什么的
    • 2、安装
    • 3、基本用法
    • 4、认证方式
    • 5、Blob 类型与限制
    • 6、适合谁用

adlfs:给 Azure 存储加一层 Pythonic 文件系统接口

adlfs 拿到 209 Star,属于 fsspec 生态的一员。它为 Azure Blob Storage 和 Azure Data Lake Storage Gen2 提供文件系统抽象,让 Python 开发者能用熟悉的文件操作语义读写云端数据。

1、这项目干什么的

adlfs 的核心定位是把 Azure 对象存储包装成标准文件系统接口。开发者不需要直接调用 Azure SDK 的底层 API,而是用 open、read、write 这类常规操作来处理云端文件。

它向 fsspec 注册了两个 URI 协议:az://abfs://。这意味着 Dask、Pandas 这类数据处理工具可以直接从 Azure 加载 CSV、Parquet 等格式,像操作本地文件一样自然。

2、安装

安装方式有两种,pip 或 conda 任选:

pipinstalladlfs
condainstall-cconda-forge adlfs

安装完成后,az://abfs://自动进入 fsspec 的 known_implementations 注册表,无需额外配置。

3、基本用法

连接 Azure 存储时,需要指定 account_name,并配合一种认证凭证。最常见的是 account_key:

importdask.dataframeasdd storage_options={'account_name':ACCOUNT_NAME,'account_key':ACCOUNT_KEY}ddf=dd.read_csv('abfs://container/folder/*.csv',storage_options=storage_options)ddf=dd.read_parquet('az://container/folder.parquet',storage_options=storage_options)

URI 格式支持三种写法:

PROTOCOL://container/path/file PROTOCOL://container@account.blob.core.windows.net/path/file PROTOCOL://container@account.dfs.core.windows.net/path/file

也支持通过环境变量传递凭证。设置 AZURE_STORAGE_ACCOUNT_NAME 和对应凭证变量后,storage_options 会自动读取。

4、认证方式

adlfs 支持的认证选项比较全:

  • connection_string:完整连接字符串
  • account_name + account_key:账户密钥
  • sas_token:共享访问签名
  • tenant_id + client_id + client_secret:Azure ServicePrincipal
  • anon=True:匿名访问,用于公共容器
  • 默认行为:未提供凭证时自动调用 DefaultAzureCredential

DefaultAzureCredential 会按 Azure 预定义的顺序尝试多种认证机制,包括环境变量、托管身份、Azure CLI 登录等。

5、Blob 类型与限制

默认写入创建 BlockBlob,写入后不可追加。需要追加写入的场景可以用mode="ab"创建 AppendBlob。 hierarchal namespaces 启用时,AppendBlob 功能不可用。

ADLS Gen1 已在 2024 年退役,adlfs 中的adl://协议也同步废弃。

6、适合谁用

  • 用 Python 处理 Azure 存储数据的工程师
  • 在 Dask 分布式场景下读写 Azure Blob 或 ADLS Gen2 的团队
  • 希望统一文件系统抽象、减少直接调用 Azure SDK 的项目

在 Dask 分布式场景下读写 Azure Blob 或 ADLS Gen2 的团队

  • 希望统一文件系统抽象、减少直接调用 Azure SDK 的项目
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/7 1:28:59

瑞德克斯信息服务平台节奏易懂吗?

瑞德克斯信息服务平台节奏易懂吗?评价瑞德克斯时,用户日常场景已经给出有条理答案。从使用秩序角度看,平台减少猜测空间,形成平稳印象。这些细节足够清楚,用户对平台的理解有依据,也容易形成好感。一、资金…

作者头像 李华
网站建设 2026/6/7 1:17:07

LangGraph 会话记忆核心:一文彻底搞懂 Checkpoint 到底是什么

摘要本文深入浅出地解释了 LangGraph 中的核心概念——Checkpoint。Checkpoint 是每次交互(一轮问答)结束后自动保存的完整状态快照,包含当时的聊天记录、下一步动作、时间戳等完整上下文。文章通过一个 3 轮对话的 AI 聊天场景,清…

作者头像 李华