如何通过系统分配托管身份用Polars读取Azure存储Parquet文件
使用Polars通过系统分配托管身份读取Azure存储中的Parquet文件
前置依赖
首先需要安装fsspec和adlfs(Polars依赖这两个库处理Azure存储的文件系统操作):
pip install fsspec adlfs
核心配置说明
Polars的read_parquet方法会将storage_options直接传递给fsspec对应的Azure文件系统实现(由adlfs提供)。使用系统分配托管身份时,你只需要在storage_options中传入以下关键参数:
account_name: 你的Azure存储账户名称managed_identity: 设置为True,启用托管身份认证
代码示例
假设你的Parquet文件路径为abfs://your-container/path/to/large-file.parquet(abfs://是Azure Blob存储的fsspec协议前缀),读取代码如下:
import polars as pl df = pl.read_parquet( source="abfs://your-container/path/to/large-file.parquet", storage_options={ "account_name": "your-storage-account-name", "managed_identity": True } )
补充说明
- 系统分配托管身份仅在Azure托管的服务(如VM、App Service、AKS等)中生效,运行代码的服务实例需要被授予Azure存储账户的Blob数据读取者(或更高权限)角色。
- 如果是本地测试,无法直接使用系统分配托管身份,可改用Azure CLI登录或用户分配托管身份(需额外传入
client_id参数)。
内容的提问来源于stack exchange,提问作者Niladri
相关产品推荐
相关产品推荐

