当前位置: 首页 > news >正文

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 的项目
http://www.rkmt.cn/news/1476856.html

相关文章:

  • 量子资源态生成的GAN框架设计与应用
  • 2026年婚姻律师推荐:专业离婚/财产分割/抚养权纠纷,资深家事法律服务商权威解析与避坑指南 - 品牌企业推荐师(官方)
  • 中小学语文课堂用的Vue古诗文展示站,开箱即用,含完整源码和教学注释
  • Prompt-Hacking:比 p-hacking 更隐蔽的显著性幻觉
  • 到底为什么PHP要有反射?
  • 从游戏到生产力:AIDA64、Cinebench、3DMark全场景CPU压力测试指南
  • 从机载雷达到5G基站:缝隙天线阵列设计的‘变’与‘不变’(附现代设计工具链)
  • 3分钟极速上手:全能网盘直链解析工具实战指南
  • 【CSDN原创检测机制深度解密】:AI生成内容的5大绕过陷阱与3条合规红线
  • 2026年氟塑料液下泵头部企业实测排行盘点:耐磨脱硫泵/耐腐泵/耐腐耐磨液下泵/耐腐耐磨砂浆泵/耐腐耐腐循环泵/选择指南 - 优质品牌商家
  • 数字电路课设别再头疼了!手把手教你用CD4518和74LS00搞定电子钟(附Proteus仿真文件)
  • 【C++11新章】列表初始化详解
  • 2026年合肥3+2学校推荐工作:趋势洞察与优质选择 - 2026年企业资讯
  • 通辽自建房装修技术解析:通辽装修工作室/通辽装饰/通辽专业的装修/通辽精装修/通辽靠谱装修/通辽二手房翻新/选择指南 - 优质品牌商家
  • 硬件分拣系统(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • 如何判断 SFT 到什么程度就可以开始做 RL
  • 2022年软考-公司人事管理—软件设计师—东方仙盟
  • 2026年当下,如何选择一家靠谱的烘焙烤箱销售厂家?这份业内推荐请收好 - 2026年企业资讯
  • TMS320F280049C ADC实战:从ePWM触发到多通道采样,一个电机控制工程师的配置笔记
  • 黑客必备的一体化黑客工具
  • SPI驱动开发实战:轮询、中断与DMA模式详解与性能优化
  • 2026年Q2非晶带焊料评测:银焊膏、锡焊膏、锡青铜焊膏、镍焊膏、阻流剂、预制成型件、颗粒焊料、黄铜焊膏、定制焊料选择指南 - 优质品牌商家
  • 2026年通辽市名气TOP5装饰公司客观盘点:通辽靠谱装修/通辽二手房翻新/通辽别墅装修/通辽大宅装修/通辽大平层装修/选择指南 - 优质品牌商家
  • C语言如何直接控制硬件指针、内存与寄存器
  • 基于 Harmony 6.0 应用的健身训练计划生成器实现
  • 电动扫地机厂家突围策略:6大核心步骤+实操案例,破解竞争困局
  • 避坑指南:为什么NetBackup客户端一重启就报错25?深入分析vxpbx_exchanged服务
  • Mac/Linux下conda创建虚拟环境报InvalidArchiveError?一个权限问题引发的‘血案’与终极修复
  • 我把 LangGraph、RAG、Memory 、MCP 都拼进了 AI 助手, 领导说,你 太牛了
  • 电子阅读器成阅读首选,作者们喜爱的几款设备推荐